Cara Menjalankan Desktop Jarak Jauh di Linux VPS
Jalankan desktop grafis XFCE di Linux VPS dengan xrdp, akses lewat SSH tanpa membuka port 3389, dan pahami kapan RustDesk lebih sesuai.
Apa yang sebenarnya dimaksud dengan desktop jarak jauh pada Linux VPS
Dua jenis produk berbeda dapat menjawab pencarian "remote desktop on a Linux VPS", dan memilih produk yang salah dapat menghabiskan waktu berjam-jam. Yang pertama adalah broker akses jarak jauh. Server RustDesk yang di-host sendiri adalah contoh umum: server ini meneruskan sesi antara dua mesin yang sudah Anda miliki, misalnya laptop dan PC di rumah. Server sewaan tersebut tidak menjalankan desktop apa pun. Server ini memperkenalkan kedua endpoint satu sama lain dan meneruskan paket ketika keduanya tidak dapat saling menjangkau secara langsung. Yang kedua adalah desktop grafis nyata yang berjalan pada server sewaan, sehingga piksel dirender di pusat data lalu dialirkan kepada Anda. Teknologi ini dapat berupa xrdp, VNC (virtual network computing), atau workspace dalam container.
Satu pertanyaan membedakan keduanya. Setelah konfigurasi ini berfungsi, di mana pointer mouse berada? Jika pointer berada pada mesin yang sudah Anda miliki, Anda memerlukan broker. Jika pointer berada pada VPS itu sendiri, Anda memerlukan desktop pada VPS. Bagian selanjutnya terutama membahas kasus kedua karena kasus inilah yang sering dilewati oleh sebagian besar panduan.
Opsi yang sesuai dengan kebutuhan Anda
- RustDesk dengan relay milik sendiri. Opsi ini melindungi sesi agar tidak melewati server rendezvous publik yang dijalankan pihak yang tidak Anda kenal, karena Anda memegang pasangan kuncinya. Opsi ini tidak melindungi mesin yang dikendalikan. Mesin tersebut tetap berupa PC tempat Anda memasang client, dengan password apa pun yang digunakan PC itu.
- xrdp melalui tunnel SSH atau VPN. Opsi ini melindungi Anda dari pemindaian terus-menerus terhadap TCP 3389 di seluruh Internet dan dari percobaan password terhadap kotak login RDP, karena port tersebut tidak pernah menghadap Internet. Opsi ini tidak melindungi password account yang lemah dari siapa pun yang sudah memiliki akses ke tunnel.
- VNC melalui tunnel yang sama. Opsi ini menyediakan sesi desktop yang tetap berjalan setelah koneksi terputus, dengan menggunakan protokol yang lebih lama dan lebih sederhana daripada RDP. VNC sendiri tidak memberikan perlindungan apa pun. Seluruh keamanan ditangani oleh tunnel, sehingga VNC saja pada port publik merupakan opsi terburuk di sini.
- Workspace container seperti Webtop atau Kasm. Opsi ini menyediakan browser atau seluruh desktop di dalam container yang dapat Anda hapus dan build ulang, sehingga mesin utama Anda terlindungi dari apa pun yang diakses browser tersebut. Opsi ini tidak melindungi host: image ini berjalan dengan privilege yang luas dan
sudotanpa password di dalamnya, sehingga container bukan boundary yang dapat Anda percayai untuk workload yang berbahaya.
Instal xrdp dan XFCE di Ubuntu 24.04
Image server VPS tidak menyertakan desktop grafis. Anda perlu menginstalnya, lalu menginstal xrdp, server open source yang menggunakan RDP (remote desktop protocol), protokol yang sama dengan yang digunakan klien Windows. Pilih desktop yang ringan. XFCE biasanya menjadi pilihan.
sudo apt update
sudo apt install -y xrdp xorgxrdp xfce4 xfce4-goodies dbus-x11
systemctl is-active xrdpUbuntu 24.04 menyediakan xrdp 0.9.24 dan xorgxrdp dalam komponen universe per Agustus 2026. Instal xorgxrdp berdasarkan namanya meskipun paket tersebut hanya berstatus recommended: paket ini adalah backend X server yang dijalankan xrdp untuk sesi baru. Tanpa paket ini, kotak login menerima kata sandi Anda lalu langsung mengembalikan Anda ke kotak login.
Selanjutnya, tentukan desktop yang harus dijalankan oleh sesi tersebut. xrdp menjalankan /etc/xrdp/startwm.sh, yang menjalankan ~/.xsession jika file tersebut ada.
echo "xfce4-session" > ~/.xsession
chmod 644 ~/.xsessionTerakhir, xrdp perlu membaca kunci TLS (transport layer security) yang ditawarkannya kepada klien. File tersebut memiliki mode 640 dan dimiliki oleh grup ssl-cert.
ls -l /etc/ssl/private/ssl-cert-snakeoil.key
id xrdpDaftar tersebut menampilkan -rw-r----- 1 root ssl-cert. Jika id xrdp tidak menampilkan ssl-cert sebagai salah satu grup, jalankan sudo adduser xrdp ssl-cert lalu sudo systemctl restart xrdp. Jika langkah ini dilewati, xrdp tidak dapat membuka kunci tersebut, dan /var/log/xrdp.log mencatat kegagalan dengan nama file snakeoil pada baris tersebut.
Mengapa Anda tidak boleh membuka port 3389 ke Internet
TCP 3389 dipindai terus-menerus oleh berbagai pihak di Internet, dan kotak login RDP menerima setiap percobaan kata sandi. Jangan membukanya. Ikat xrdp ke alamat loopback, lalu akses melalui tunnel yang sudah Anda percayai.
Edit /etc/xrdp/xrdp.ini dan ubah listener pada bagian [Globals].
[Globals]
port=tcp://.:3389File yang disertakan mendokumentasikan sintaks tersebut dalam komentarnya sendiri: tcp://.:3389 berarti 127.0.0.1:3389, sedangkan tcp://:3389 berarti semua interface. Restart service dan lakukan konfirmasi, karena kesalahan ketik di sini dapat membuat service tetap berjalan pada semua alamat tanpa pesan yang jelas.
sudo systemctl restart xrdp
ss -tlnp | grep 3389Anda menginginkan 127.0.0.1:3389. Jika Anda melihat 0.0.0.0:3389, berarti xrdp mengabaikan perubahan Anda. Biasanya, baris tersebut berada di bawah heading bagian lain yang terletak lebih jauh dalam file.
Sekarang buka tunnel dari mesin Anda sendiri.
ssh -N -L 3389:127.0.0.1:3389 you@vps.example.com-N berarti "buka koneksi tetapi jangan jalankan perintah apa pun", sehingga sesi tersebut hanya digunakan untuk membawa port. Biarkan terminal itu tetap berjalan dan arahkan klien RDP ke 127.0.0.1:3389. Pada klien Linux, perangkat lunak yang digunakan adalah FreeRDP 3. Binary-nya pada Ubuntu 24.04 bernama xfreerdp3:
sudo apt install -y freerdp3-x11
xfreerdp3 /v:127.0.0.1:3389 /u:you /dynamic-resolution +clipboard /soundPada Windows, gunakan mstsc bawaan dan masukkan 127.0.0.1 sebagai komputer. FreeRDP meminta Anda mempercayai sertifikat saat koneksi pertama dan menampilkan Do you trust the above certificate? (Y/T/N). Hal ini normal karena sertifikat snakeoil yang ditandatangani sendiri.
Jika ssh menjawab bind [127.0.0.1]:3389: Address already in use, berarti sesuatu pada mesin Anda sendiri sudah menggunakan 3389. Pindahkan endpoint lokal dengan ssh -N -L 13389:127.0.0.1:3389 you@vps.example.com, lalu sambungkan ke 127.0.0.1:13389.
Satu tunnel untuk setiap orang akan merepotkan. Untuk tim, solusi yang lebih baik adalah jaringan privat. Tempatkan server di belakang VPN WireGuard self-hosted, berikan alamat tunnel 10.8.0.1, dan atur port=tcp://10.8.0.1:3389 agar xrdp hanya menerima koneksi dari dalam VPN. Apa pun pilihannya, aturan firewall untuk 3389 seharusnya tidak ada sama sekali. Jika Anda tidak yakin dengan akses yang diizinkan oleh aturan saat ini, mulai dari dasar-dasar firewall ufw pada VPS dan lakukan pemeriksaan sebelum terhubung, bukan setelahnya.
Berapa banyak RAM yang digunakan desktop jarak jauh pada VPS 2 GB
Desktop yang Anda pilih menentukan apakah paket 2 GB cukup nyaman atau sama sekali tidak memadai. Angka di bawah ini adalah angka tipikal yang dibulatkan untuk penggunaan memori sesaat setelah login pada Ubuntu 24.04, berdasarkan perbandingan yang dipublikasikan, bukan pengukuran pada mesin Anda. Ukur penggunaan pada mesin Anda sendiri dengan free -m segera setelah terhubung.
The data behind this chart
[
{
"label": "LXQt",
"idle_ram_mb": 300
},
{
"label": "XFCE",
"idle_ram_mb": 400
},
{
"label": "MATE",
"idle_ram_mb": 500
},
{
"label": "KDE Plasma",
"idle_ram_mb": 800
},
{
"label": "GNOME",
"idle_ram_mb": "1,200"
}
]Pada 5 desktop tersebut, perbedaannya menjadi faktor utama. LXQt menggunakan sekitar 300 MB dan XFCE sekitar 400 MB, sehingga keduanya masih menyisakan ruang pada mesin 2 GB untuk browser. GNOME memerlukan sekitar 1,200 MB sebelum Anda membuka satu jendela pun. Pada VPS 2 GB, kondisi ini membuat browser harus berbagi sisa memori dengan desktop.
Browser adalah beban utama, bukan shell desktop. Browser modern menggunakan sekitar 150 hingga 400 MB untuk setiap tab aktif. Karena itu, VPS 2 GB yang menjalankan XFCE dapat menangani beberapa tab sebelum mulai menggunakan swap. Tambahkan swap agar mesin melambat, bukan menghentikan proses: sudo fallocate -l 2G /swapfile, lalu sudo chmod 600 /swapfile, sudo mkswap /swapfile, sudo swapon /swapfile, dan tambahkan baris yang sesuai di /etc/fstab agar konfigurasi tetap tersedia setelah reboot. Jika sesuatu menghilang tanpa peringatan, jalankan dmesg | grep -i "killed process". Baris tersebut berarti kernel menghentikannya melalui out-of-memory killer. Browser biasanya menjadi proses yang dihentikan.
CPU adalah batas lainnya, dan batas ini lebih mudah diremehkan. VPS tidak memiliki GPU, sehingga X menggunakan software rendering melalui llvmpipe. Artinya, CPU menggambar setiap piksel. Menggulir halaman yang berat dan memutar video akan terlihat sebagai beban CPU biasa. Frame rate akan turun, bukan mesin yang membeku. Itulah batas yang sama ketika Anda mempertimbangkan apakah VPS dapat digunakan untuk bermain game: untuk apa pun yang menggunakan 3D, jawabannya tidak, tepat karena alasan ini.
Suara dan clipboard dalam sesi xrdp
Ubuntu 24.04 menggunakan PipeWire untuk audio, sedangkan pengalihan suara xrdp dibuat untuk PulseAudio. Karena itu, instalasi baru dapat menampilkan video tetapi tidak mengeluarkan suara. Paket Ubuntu menyediakan bridge-nya.
sudo apt install -y pipewire-module-xrdp pulseaudio-utils alsa-utilsLog out sepenuhnya dari sesi RDP, lalu login kembali karena modul dimuat saat sesi dimulai. Reconnect saja tidak cukup. Kemudian periksa dari dalam sesi:
pactl list short sinks
speaker-test -c 2 -t wav -l 1Anda akan melihat sink yang namanya menyebut xrdp dan mendengar nada pengujian melalui client. Jika sink xrdp tidak ada, modul tidak dimuat ke dalam sesi ini. Client Anda juga harus meminta audio. Pengaturannya adalah flag /sound pada xfreerdp3, atau opsi "Remote audio" di bagian Local Resources pada client Windows.
Clipboard teks berfungsi dua arah setelah xrdp-chansrv berjalan untuk sesi Anda. xrdp menjalankannya secara otomatis. Pastikan dengan pgrep -a xrdp-chansrv. Jika copy dan paste berhenti berfungsi di tengah sesi, proses tersebut berhenti, dan reconnect akan menjalankannya kembali. Menyalin file, bukan teks, menggunakan channel terpisah yang disebut drive redirection: /drive:home,/home/you pada xfreerdp3 me-mount folder lokal ke dalam sesi remote.
Popup polkit dan kegagalan login pertama lainnya
Kejutan yang paling umum saat login pertama adalah dialog dengan pesan Authentication is required to create a color managed device. Penyebabnya spesifik. Service colord meminta izin kepada polkit. polkit hanya memberikan tindakan tersebut secara diam-diam kepada session yang dianggapnya berada di depan komputer secara lokal. Session RDP tidak dianggap demikian, sehingga polkit meminta password. Ubuntu 24.04 menyertakan polkit 124, yang menghapus file authority lokal lama .pkla. Karena itu, panduan yang menyarankan Anda menulis /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla sama sekali tidak berpengaruh pada 24.04. Sebagai gantinya, tulis rule JavaScript.
/* /etc/polkit-1/rules.d/45-allow-colord.rules */
polkit.addRule(function(action, subject) {
if (action.id.indexOf("org.freedesktop.color-manager.") === 0 &&
subject.isInGroup("sudo")) {
return polkit.Result.YES;
}
});Jalankan sudo systemctl restart polkit lalu hubungkan kembali. Dua kegagalan lain dapat dikenali dari gejalanya.
Kotak login menerima password Anda lalu langsung muncul kembali. Session berhasil dimulai, tetapi langsung berhenti. Baca /var/log/xrdp-sesman.log terlebih dahulu, lalu ~/.xsession-errors di home directory Anda. xorgxrdp yang hilang, ~/.xsession yang menyebutkan desktop yang belum terpasang, home directory yang tidak dapat Anda tulisi, atau disk yang penuh semuanya dapat menyebabkan gejala ini.
Anda terhubung dan melihat layar abu-abu dengan kursor X. X berhasil dimulai, tetapi desktop tidak. Sekali lagi, penyebabnya adalah ~/.xsession: jalankan xfce4-session secara manual melalui SSH dan baca error yang ditampilkannya.
Fungsi server RustDesk yang di-host sendiri
RustDesk terbagi menjadi dua proses. hbbs adalah server ID dan rendezvous yang digunakan client untuk mendaftar, sedangkan hbbr adalah relay yang membawa sesi ketika koneksi peer-to-peer langsung gagal. Keduanya tidak menjalankan desktop. Keduanya berasal dari satu image, dan berikut adalah file compose yang dipublikasikan project tersebut, dengan alamat relay diubah ke hostname Anda sendiri:
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs -r rustdesk.example.com:21117
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
volumes:
- ./data:/root
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
ports:
- 21117:21117
- 21119:21119
volumes:
- ./data:/root
restart: unless-stoppedJalankan, lalu baca public key yang dibuat server saat pertama kali dijalankan:
sudo docker compose up -d
sudo cat ./data/id_ed25519.pubSetiap client memerlukan hostname dan public key Anda. Masukkan keduanya pada pengaturan Network di client RustDesk. Private key yang sesuai tetap berada di ./data/id_ed25519. Jika direktori data dihapus, server akan membuat pasangan key baru. Setelah itu, setiap client harus dikonfigurasi ulang dengan key baru. Cadangkan direktori tersebut. Jika RustDesk menjadi cara tim Anda mengakses setiap mesin, bukan sekadar eksperimen akhir pekan, build khusus relay RustDesk layak digunakan untuk menangani key Ed25519, menggunakan tag image yang dipatok alih-alih latest, serta menyediakan bandwidth relay yang pada akhirnya akan dibebankan oleh paket Anda.
Firewall harus mengizinkan port-port ini secara langsung. hbbs menggunakan TCP 21115, 21116, dan 21118, serta UDP 21116. hbbr menggunakan TCP 21117 dan 21119.
sudo ufw allow 21115/tcp
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
sudo ufw allow 21117/tcp
sudo ufw allow 21118/tcp
sudo ufw allow 21119/tcpMengapa RustDesk tidak dapat ditempatkan di belakang nginx atau Traefik
Pembaca yang sudah menerapkan TLS termination untuk semua layanan pada satu reverse proxy biasanya mencoba konfigurasi ini, tetapi gagal. hbbs dan hbbr menggunakan protokol biner sendiri melalui TCP dan UDP, bukan HTTP. Tidak ada header Host untuk menentukan rute dan tidak ada permintaan HTTP yang dapat diperiksa. Karena itu, blok nginx server atau HTTP router Traefik tidak memiliki kecocokan yang dapat digunakan. Listener UDP pada port 21116 bukan komponen HTTP pada lapisan mana pun.
Ada dua pendekatan yang dapat digunakan. nginx dapat meneruskan port TCP dengan blok stream. Ini adalah penerusan layer 4 biasa, bukan reverse proxy dalam pengertian umum. Port 21118 dan 21119 membawa websocket yang digunakan oleh klien web RustDesk. Keduanya menggunakan HTTP biasa sehingga dapat ditempatkan di belakang proxy. Jika menggunakan konfigurasi tersebut, tambahkan aturan firewall agar hanya proxy yang dapat mengakses 21118 dan 21119. hbbs mempercayai header X-Real-IP pada koneksi websocket untuk menentukan alamat klien yang sebenarnya.
Browser sekali pakai dalam container
Terkadang Anda hanya memerlukan browser bersih dengan IP yang tidak berubah dan terisolasi dari mesin Anda sendiri. Workspace container menyediakan kebutuhan tersebut dengan perangkat lunak yang jauh lebih sedikit. Webtop dari LinuxServer adalah opsi yang ringan:
services:
webtop:
image: lscr.io/linuxserver/webtop:latest
container_name: webtop
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /path/to/data:/config
ports:
- 127.0.0.1:3000:3000
- 127.0.0.1:3001:3001
shm_size: "1gb"
restart: unless-stoppedPort 3000 menyediakan HTTP dan port 3001 menyediakan HTTPS. Anda dapat mengakses desktop melalui tab browser tanpa memerlukan klien RDP. Tag image mencakup XFCE, KDE, MATE, dan i3 pada beberapa distribusi dasar. Dokumentasi proyek ini secara tegas menjelaskan risikonya: container memiliki akses istimewa ke host dan menyertakan terminal dengan akses sudo tanpa kata sandi. Karena itu, container tidak boleh terhubung ke Internet tanpa perlindungan. Inilah alasan port di atas di-bind ke 127.0.0.1, bukan dipublikasikan pada semua alamat. Akses melalui tunnel SSH yang sama atau VPN yang sama seperti yang digunakan untuk xrdp.
Kasm Workspaces menerapkan konsep yang sama dalam skala jauh lebih besar, dengan konsol web, akun pengguna, dan container per sesi yang direset saat sesi berakhir. Kasm Workspaces memerlukan sumber daya mesin yang lebih besar daripada yang tersedia pada VPS kecil. Per Agustus 2026, minimum yang didokumentasikan adalah 2 core CPU, 4 GB memori, dan 50 GB SSD. Selain itu, setiap sesi pengguna secara default menggunakan 2 core dan 2768 MB. Paket 2 GB tidak akan dapat menjalankannya. Instalasinya terdiri dari pengunduhan dan eksekusi skrip:
cd /tmp
curl -O https://kasm-static-content.s3.amazonaws.com/kasm_release_1.17.0.7f020d.tar.gz
tar -xf kasm_release_1.17.0.7f020d.tar.gz
sudo bash kasm_release/install.shVNC dan penggunaan yang masih sesuai
VNC mengirimkan pembaruan framebuffer, bukan perintah untuk menggambar. Karena itu, VNC terasa lebih berat daripada RDP pada koneksi yang lambat dan tidak menyediakan kanal suara. VNC tetap sesuai untuk satu situasi: Anda ingin sesi desktop tetap berjalan setelah terputus, lalu melanjutkan sesi yang sama saat kembali. TigerVNC mendukung hal tersebut. vncserver -localhost yes :1 mengikat Xvnc ke 127.0.0.1 pada TCP 5901 dan menolak koneksi dari tempat lain, sehingga Anda dapat membuat tunnel dengan cara yang sama seperti xrdp menggunakan ssh -N -L 5901:127.0.0.1:5901 you@vps.example.com. Jangan pernah membuka port VNC ke Internet. Sebagian besar server VNC hanya melindungi kata sandi selama handshake dan tidak mengenkripsi data setelahnya. Karena itu, jika port dibuka ke publik, isi sesi dapat dibaca selama transmisi.
Apakah VPS cocok sebagai desktop?
Sebagai komputer utama harian, tidak. Alasannya cukup banyak. VPS tidak memiliki GPU, sehingga CPU harus merender seluruh tampilan. Setiap penekanan tombol menunggu perjalanan bolak-balik melalui jaringan, dan latensi 40 ms yang terasa baik saat menggunakan SSH akan terasa saat mengetik di editor teks. Video dikompresi dua kali: pertama oleh situs, lalu oleh encoder RDP. File Anda tersimpan pada disk yang tidak Anda pegang, dan penggunaan desktop yang berat menghabiskan kuota bandwidth bulanan yang sebenarnya dirancang untuk server web.
Sebagai mesin sementara, VPS sangat baik. Sifat yang sama menjelaskan alasannya. Alamat IP-nya stabil dan dimiliki oleh pusat data. Ini diperlukan jika suatu service harus melihat alamat yang konsisten. Mesin dapat dibuat ulang dari image dalam hitungan menit, sehingga sesi yang terkena sesuatu yang berbahaya tidak menimbulkan kerugian. VPS terisolasi dari perangkat keras utama Anda dan tetap berjalan saat laptop ditutup. Penagihan per jam membuat desktop sementara berbiaya rendah.
Jika Anda masih menentukan fungsi server tersebut, daftar praktis tentang kegunaan VPS layak dibaca sebelum Anda memasang desktop di dalamnya. Jika alasan Anda menginginkan desktop adalah satu aplikasi Windows, bandingkan terlebih dahulu dengan perbedaan nyata antara Linux dan Windows Server, karena lisensinya mengubah biaya solusi tersebut.
FAQ
Dapatkah saya menjalankan remote desktop pada VPS 2 GB?
Ya, dengan desktop yang ringan. XFCE atau LXQt menggunakan sekitar 300 hingga 400 MB setelah login, sehingga masih tersedia cukup memori untuk browser dengan beberapa tab. GNOME atau KDE Plasma pada 2 GB hampir tidak menyisakan memori untuk aplikasi. Tambahkan file swap 2 GB agar tekanan memori memperlambat mesin, bukan menghentikan proses. Jika sesuatu menghilang tanpa pesan, periksa dmesg | grep -i "killed process" untuk melihat kernel out-of-memory killer.
Apakah saya harus membuka port 3389 pada firewall VPS?
Tidak. TCP 3389 terus-menerus dipindai, dan endpoint login RDP yang terbuka memudahkan upaya menebak kata sandi. Tetapkan port=tcp://.:3389 di /etc/xrdp/xrdp.ini agar xrdp hanya listen pada 127.0.0.1, konfirmasikan dengan ss -tlnp | grep 3389, lalu akses dengan ssh -N -L 3389:127.0.0.1:3389 you@vps.example.com. Untuk lebih dari satu atau dua pengguna, bind xrdp ke alamat WireGuard, bukan ke loopback.
Mengapa xrdp menampilkan pesan "Authentication is required to create a color managed device"?
Service colord meminta izin kepada polkit, dan polkit hanya memberikan izin untuk tindakan tersebut secara diam-diam kepada session yang secara lokal sedang digunakan. Session RDP tidak dianggap sebagai session lokal, sehingga prompt kata sandi muncul pada setiap login. Pada Ubuntu 24.04, perbaikan lama .pkla tidak berfungsi karena polkit 124 menghapus file local authority. Buat /etc/polkit-1/rules.d/45-allow-colord.rules yang berisi aturan JavaScript untuk mengembalikan polkit.Result.YES bagi action id yang diawali dengan org.freedesktop.color-manager., lalu jalankan sudo systemctl restart polkit.
Dapatkah saya menempatkan server RustDesk yang di-host sendiri di belakang nginx atau Traefik?
Tidak untuk service utama. hbbs dan hbbr menggunakan protokol biner sendiri, bukan HTTP, sehingga tidak ada header Host yang dapat digunakan untuk routing. UDP 21116 juga sama sekali tidak dapat melewati proxy HTTP. Buka TCP 21115 hingga 21119 dan UDP 21116 pada firewall, lalu biarkan client terhubung secara langsung. Port websocket 21118 dan 21119, yang digunakan oleh web client, menggunakan HTTP dan dapat ditempatkan di belakang proxy. Jika demikian, batasi aksesnya pada firewall agar hanya proxy yang dapat menjangkaunya karena hbbs mempercayai X-Real-IP pada koneksi tersebut.
Mengapa tidak ada suara dalam session xrdp saya?
Ubuntu 24.04 menggunakan PipeWire, sedangkan redirection suara xrdp dibuat untuk PulseAudio. Karena itu, audio tidak tersedia sampai Anda memasang bridge. Jalankan sudo apt install -y pipewire-module-xrdp, lalu logout sepenuhnya dari session dan login kembali karena modul dimuat saat session dimulai, sedangkan reconnect tidak akan memuatnya. Periksa dengan pactl list short sinks untuk melihat sink yang namanya memuat xrdp. Pastikan client meminta audio. Pada xfreerdp3, gunakan flag /sound, atau pilih "Remote audio" pada client Windows.