Cara Pasang Remote Desktop pada Linux VPS
Ketahui perbezaan antara broker akses seperti RustDesk dan desktop grafik sebenar menggunakan xrdp atau XFCE. Ikuti panduan selamat melalui terowong SSH tanpa port 3389.
Apakah maksud sebenar desktop jauh pada VPS Linux
Dua produk berbeza menjawab carian "remote desktop on a Linux VPS", dan memilih produk yang salah akan merugikan masa anda selama satu petang. Yang pertama ialah broker akses jauh. Pelayan yang dihoskan sendiri oleh RustDesk adalah contoh biasa: ia menyambungkan sesi antara dua mesin yang sudah anda miliki, seperti komputer riba anda dan PC di rumah. Pelayan yang disewa tidak memaparkan sebarang desktop. Ia hanya memperkenalkan kedua-dua hujung tersebut antara satu sama lain dan memajukan paket apabila kedua-duanya tidak dapat berhubung secara terus. Yang kedua ialah desktop grafik sebenar yang berjalan pada pelayan yang disewa, jadi piksel dilukis di pusat data dan distrim kepada anda. Itu adalah xrdp, VNC (virtual network computing), atau ruang kerja kontena.
Satu soalan membezakan kedua-duanya. Apabila ia berfungsi, di manakah penunjuk tetikus berada? Pada mesin yang sudah anda miliki, anda memerlukan broker. Pada VPS itu sendiri, anda memerlukan desktop pada VPS. Kes kedua mendapat ruang paling banyak di bawah, kerana ia adalah kes yang sering ditinggalkan oleh kebanyakan panduan.
Pilihan mana yang sesuai dengan tugas anda
- RustDesk dengan relay anda sendiri. Ia melindungi sesi daripada melalui pelayan rendezvous awam yang dikendalikan oleh pihak asing, kerana anda memegang pasangan kunci tersebut. Ia tidak melindungi mesin yang dikawal, yang masih merupakan mana-mana PC tempat anda memasang klien tersebut, dengan apa jua kata laluan yang dimiliki oleh PC itu.
- xrdp melalui tunnel SSH atau VPN. Ia melindungi anda daripada imbasan internet berterusan terhadap TCP 3389 dan daripada cubaan meneka kata laluan pada kotak log masuk RDP, kerana port tersebut tidak pernah menghadap ke internet. Ia tidak melindungi kata laluan akaun yang lemah daripada sesiapa yang sudah mempunyai akses ke tunnel tersebut.
- VNC melalui tunnel yang sama. Ia memberikan anda sesi desktop yang kekal walaupun selepas terputus sambungan, menggunakan protokol yang lebih lama dan lebih ringkas daripada RDP. Secara sendirinya, ia tidak melindungi apa-apa: tunnel tersebut melakukan semua kerja keselamatan, jadi VNC sahaja pada port awam adalah pilihan paling buruk di sini.
- Ruang kerja kontena seperti Webtop atau Kasm. Ia memberikan anda pelayar atau keseluruhan desktop dalam kontena yang boleh anda hapuskan dan bina semula, yang melindungi mesin sebenar anda daripada apa jua yang disentuh oleh pelayar tersebut. Ia tidak melindungi hos: imej ini berjalan dengan keistimewaan yang luas dan
sudotanpa kata laluan di dalamnya, jadi kontena bukanlah sempadan yang harus anda percayai untuk beban kerja yang berniat jahat.
Memasang xrdp dan XFCE pada Ubuntu 24.04
Imej pelayan VPS dibekalkan tanpa desktop grafik. Anda perlu memasang satu desktop, kemudian memasang xrdp, iaitu pelayan sumber terbuka yang menggunakan RDP (remote desktop protocol), protokol yang sama digunakan oleh klien Windows. Pilih desktop yang ringan, dan XFCE adalah pilihan lazim.
sudo apt update
sudo apt install -y xrdp xorgxrdp xfce4 xfce4-goodies dbus-x11
systemctl is-active xrdpUbuntu 24.04 membawakan xrdp 0.9.24 dan xorgxrdp dalam komponen universe, setakat Ogos 2026. Pasang xorgxrdp mengikut nama walaupun ia hanyalah pakej yang disyorkan: ia merupakan backend pelayan X yang dimulakan oleh xrdp untuk sesi baharu, dan tanpanya kotak log masuk akan menerima kata laluan anda tetapi kemudian mengembalikan anda terus ke kotak log masuk.
Sekarang, beritahu sesi tersebut desktop mana yang perlu dimulakan. xrdp menjalankan /etc/xrdp/startwm.sh, yang seterusnya menjalankan ~/.xsession apabila fail tersebut wujud.
echo "xfce4-session" > ~/.xsession
chmod 644 ~/.xsessionAkhir sekali, xrdp perlu membaca kunci TLS (transport layer security) yang ditawarkan kepada klien. Fail tersebut mempunyai mod 640 dan dimiliki oleh kumpulan ssl-cert.
ls -l /etc/ssl/private/ssl-cert-snakeoil.key
id xrdpPenyenaraian tersebut menunjukkan -rw-r----- 1 root ssl-cert. Jika id xrdp tidak memaparkan ssl-cert dalam kalangan kumpulan tersebut, jalankan sudo adduser xrdp ssl-cert kemudian sudo systemctl restart xrdp. Jika langkah ini dilangkau, xrdp tidak dapat membuka kunci tersebut, dan /var/log/xrdp.log akan merekodkan kegagalan tersebut dengan nama fail snakeoil dalam baris berkenaan.
Why you should not open port 3389 to the internet
TCP 3389 is scanned continuously by everything on the internet, and an RDP login box answers politely to every password attempt. Do not open it. Bind xrdp to the loopback address instead, and reach it through a tunnel you already trust.
Edit /etc/xrdp/xrdp.ini and change the listener in the [Globals] section.
[Globals]
port=tcp://.:3389The shipped file documents that syntax in its own comments: tcp://.:3389 means 127.0.0.1:3389, and tcp://:3389 means every interface. Restart and confirm, because a typo here silently leaves the service on all addresses.
sudo systemctl restart xrdp
ss -tlnp | grep 3389You want 127.0.0.1:3389. Seeing 0.0.0.0:3389 means xrdp ignored your edit, usually because the line ended up under a different section heading further down the file.
Now open the tunnel from your own machine.
ssh -N -L 3389:127.0.0.1:3389 you@vps.example.com-N means "open the connection but run no command", so the session exists only to carry the port. Leave that terminal running and point the RDP client at 127.0.0.1:3389. On a Linux client the software is FreeRDP 3, whose binary on Ubuntu 24.04 is named xfreerdp3:
sudo apt install -y freerdp3-x11
xfreerdp3 /v:127.0.0.1:3389 /u:you /dynamic-resolution +clipboard /soundOn Windows use the built-in mstsc and type 127.0.0.1 as the computer. FreeRDP asks you to trust the certificate on the first connect and prints Do you trust the above certificate? (Y/T/N), which is expected with the self-signed snakeoil certificate.
If ssh answers bind [127.0.0.1]:3389: Address already in use, something on your own machine already holds 3389. Move the local end with ssh -N -L 13389:127.0.0.1:3389 you@vps.example.com and connect to 127.0.0.1:13389.
One tunnel per person gets tiring, so for a team the better answer is a private network. Put the box behind a self-hosted WireGuard VPN, give it the tunnel address 10.8.0.1, and set port=tcp://10.8.0.1:3389 so xrdp answers only inside the VPN. Either way, the firewall rule for 3389 should not exist at all. If you are unsure what your current rules allow, start from ufw firewall basics on a VPS and check before you connect, not after.
Berapakah penggunaan RAM desktop jauh pada VPS 2 GB
Desktop yang anda pilih menentukan sama ada pelan 2 GB selesa atau tidak mencukupi. Angka di bawah adalah nombor anggaran tipikal untuk memori yang digunakan sejurus selepas log masuk pada Ubuntu 24.04, diambil daripada perbandingan yang diterbitkan dan bukannya diukur pada mesin anda. Ukur penggunaan anda sendiri dengan free -m sejurus selepas anda menyambung.
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"
}
]Merentasi 5 desktop tersebut, perbezaannya adalah perkara utama. LXQt berada sekitar 300 MB dan XFCE sekitar 400 MB, jadi kedua-duanya meninggalkan ruang pada kotak 2 GB untuk pelayar web. GNOME memerlukan kira-kira 1,200 MB sebelum anda membuka satu tetingkap pun, yang mana pada 2 GB, ia menyebabkan pelayar web terpaksa bersaing dengan desktop untuk mendapatkan baki memori yang ada.
Pelayar web adalah kos sebenar, bukan shell desktop. Pelayar moden menggunakan antara 150 hingga 400 MB bagi setiap tab aktif, jadi VPS 2 GB yang menjalankan XFCE hanya mampu mengendalikan beberapa tab sebelum mula melakukan swapping. Tambahkan swap supaya mesin menjadi perlahan dan bukannya mematikan proses secara paksa: sudo fallocate -l 2G /swapfile, kemudian sudo chmod 600 /swapfile, sudo mkswap /swapfile, sudo swapon /swapfile, dan baris yang sepadan dalam /etc/fstab supaya ia kekal selepas but semula. Apabila sesuatu hilang tanpa amaran, jalankan dmesg | grep -i "killed process". Baris itu bermaksud pembunuh out-of-memory kernel telah menamatkannya, dan pelayar web biasanya menjadi mangsa.
CPU adalah satu lagi had, dan ia lebih mudah dipandang remeh. VPS tidak mempunyai GPU, jadi X kembali kepada rendering perisian melalui llvmpipe, yang bermaksud CPU melukis setiap piksel. Menatal halaman yang berat dan memainkan video kedua-duanya muncul sebagai beban CPU biasa, dan kadar bingkai (frame rate) akan menurun dan bukannya mesin membeku. Itu adalah halangan yang sama yang anda temui jika anda tertanya-tanya sama ada anda boleh bermain permainan pada VPS: untuk sebarang perkara 3D, jawapannya adalah tidak, dan atas sebab inilah.
Audio dan papan keratan dalam sesi xrdp
Ubuntu 24.04 menggunakan PipeWire untuk audio, manakala pengalihan semula audio xrdp ditulis untuk PulseAudio, jadi pemasangan baharu akan memberikan video yang berfungsi tetapi tiada bunyi. Ubuntu menyediakan pakej jambatan tersebut.
sudo apt install -y pipewire-module-xrdp pulseaudio-utils alsa-utilsLog keluar sepenuhnya daripada sesi RDP dan log masuk semula, kerana modul dimuatkan apabila sesi bermula. Sambung semula (reconnect) tidak mencukupi. Kemudian, semak dari dalam sesi:
pactl list short sinks
speaker-test -c 2 -t wav -l 1Anda sepatutnya melihat sink yang namanya menyebut xrdp, dan mendengar nada ujian melalui klien anda. Jika tiada sink xrdp, bermakna modul tersebut tidak dimuatkan ke dalam sesi ini. Klien anda juga perlu meminta audio: ini adalah flag /sound pada xfreerdp3, atau tetapan "Remote audio" di bawah Local Resources dalam klien Windows.
Papan keratan teks berfungsi dalam kedua-dua arah sebaik sahaja xrdp-chansrv berjalan untuk sesi anda, yang dimulakan oleh xrdp untuk anda. Sahkan perkara ini dengan pgrep -a xrdp-chansrv. Jika fungsi salin dan tampal berhenti berfungsi di pertengahan sesi, proses tersebut telah terhenti, dan menyambung semula akan memulakannya kembali. Menyalin fail dan bukannya teks adalah saluran berasingan yang dipanggil pengalihan semula pemacu (drive redirection): /drive:home,/home/you pada xfreerdp3 melekapkan folder setempat ke dalam sesi jauh.
Tetingkap timbul polkit dan kegagalan log masuk kali pertama yang lain
Kejutan paling biasa semasa log masuk kali pertama ialah dialog yang memaparkan Authentication is required to create a color managed device. Punca masalah ini adalah khusus. Servis colord meminta kebenaran daripada polkit, polkit hanya memberikan tindakan tersebut secara senyap kepada sesi yang dianggap sebagai sesi tempatan, manakala sesi RDP tidak dianggap sebagai sesi tempatan. Oleh itu, polkit akan meminta kata laluan anda sebagai langkah alternatif. Ubuntu 24.04 menggunakan polkit 124, yang telah membuang fail autoriti tempatan .pkla yang lama, jadi setiap panduan yang menyuruh anda menulis /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla tidak akan memberi sebarang kesan pada 24.04. Sebaliknya, tulis peraturan 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 dan sambung semula. Terdapat dua lagi kegagalan yang perlu diketahui berdasarkan simptomnya.
Kotak log masuk menerima kata laluan anda dan kembali semula ke skrin asal. Sesi telah bermula tetapi terhenti. Baca /var/log/xrdp-sesman.log terlebih dahulu, kemudian ~/.xsession-errors dalam direktori rumah anda. Fail xorgxrdp yang hilang, fail ~/.xsession yang menamakan desktop yang tidak dipasang, direktori rumah yang tidak boleh ditulis, atau cakera penuh, semuanya berakhir dengan masalah ini.
Anda menyambung dan melihat skrin kelabu dengan kursor X. X telah bermula tetapi desktop tidak. Itu adalah ~/.xsession sekali lagi: jalankan xfce4-session secara manual melalui SSH dan baca ralat yang dipaparkannya.
Fungsi pelayan RustDesk yang dihoskan sendiri
RustDesk terbahagi kepada dua proses. hbbs ialah pelayan ID dan rendezvous yang digunakan oleh klien untuk mendaftar, manakala hbbr ialah geganti (relay) yang membawa sesi apabila sambungan peer-to-peer secara terus gagal. Kedua-duanya tidak menjalankan desktop. Kedua-duanya datang daripada satu imej, dan ini ialah fail compose yang diterbitkan oleh projek tersebut, dengan alamat geganti ditukar kepada nama hos 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 ia, kemudian baca kunci awam yang dijana oleh pelayan pada permulaan pertamanya:
sudo docker compose up -d
sudo cat ./data/id_ed25519.pubSetiap klien memerlukan nama hos anda dan kunci awam tersebut, kedua-duanya dimasukkan di bawah tetapan Network dalam klien RustDesk. Kunci peribadi yang sepadan kekal dalam ./data/id_ed25519. Padam direktori data dan pelayan akan menjana pasangan baharu, jadi setiap klien perlu dikonfigurasikan semula dengan kunci baharu tersebut. Buat sandaran untuk direktori itu.
Firewall perlu membenarkan port-port ini secara terus. 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 boleh diletakkan di belakang nginx atau Traefik
Pembaca yang sudah melakukan TLS termination untuk segala-galanya pada satu reverse proxy sering mencuba perkara ini dan gagal. hbbs dan hbbr menggunakan protokol binari mereka sendiri melalui TCP dan UDP, bukan HTTP. Tiada Host header untuk tujuan penghalaan dan tiada permintaan HTTP untuk diperiksa, jadi blok nginx server atau router HTTP Traefik tidak mempunyai apa-apa untuk dipadankan. Pendengar UDP pada 21116 bukanlah entiti HTTP pada mana-mana lapisan.
Dua perkara boleh dilakukan. nginx boleh memajukan port TCP dengan blok stream, yang merupakan pemajuan lapisan 4 (layer 4 forwarding) biasa dan bukannya reverse proxy dalam erti kata lazim. Selain itu, port 21118 dan 21119 membawa websocket yang digunakan oleh klien web RustDesk, yang merupakan HTTP biasa, jadi kedua-dua port ini boleh diletakkan di belakang proxy anda. Jika anda berbuat demikian, tambahkan peraturan firewall supaya hanya proxy yang boleh mencapai 21118 dan 21119, kerana hbbs mempercayai header X-Real-IP pada sambungan websocket untuk menentukan alamat klien yang sebenar.
Pelayar web pakai buang dalam kontena
Kadangkala anda hanya mahukan pelayar web yang bersih dengan IP yang tidak berubah, serta diasingkan daripada mesin anda sendiri. Ruang kerja kontena melakukan perkara ini dengan perisian yang jauh lebih sedikit. Webtop daripada LinuxServer merupakan pilihan 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 3001 menyediakan HTTPS, dan anda boleh mencapai desktop tersebut di dalam tab pelayar tanpa memerlukan sebarang klien RDP. Tag imej merangkumi XFCE, KDE, MATE dan i3 pada beberapa pengedaran asas. Dokumentasi projek itu sendiri menyatakan dengan jelas tentang risikonya: kontena tersebut mempunyai akses keistimewaan (privileged access) kepada hos dan menyertakan terminal dengan sudo tanpa kata laluan, jadi ia tidak sepatutnya terdedah kepada internet tanpa perlindungan. Itulah sebabnya port di atas diikat kepada 127.0.0.1 dan bukannya diterbitkan pada semua alamat. Capai ia melalui terowong SSH yang sama atau VPN yang sama yang anda gunakan untuk xrdp.
Kasm Workspaces menggunakan konsep yang sama pada saiz yang jauh lebih besar, dengan konsol web, akaun pengguna, dan kontena setiap sesi yang akan ditetapkan semula apabila sesi berakhir. Ia memerlukan mesin yang lebih berkuasa daripada VPS kecil. Setakat Ogos 2026, spesifikasi minimum yang didokumenkan ialah 2 teras CPU, 4 GB memori dan 50 GB SSD, dan setiap sesi pengguna secara lalai menggunakan 2 teras dan 2768 MB tambahan. Pelan 2 GB tidak akan dapat menjalankannya. Pemasangannya melibatkan muat turun dan 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 kesesuaian penggunaannya
VNC menghantar kemas kini framebuffer dan bukannya arahan melukis, jadi ia terasa lebih berat berbanding RDP pada sambungan perlahan dan tidak mempunyai saluran audio. Ia berguna dalam satu situasi: anda mahukan sesi desktop yang terus berjalan selepas anda terputus sambungan, dan anda mahukan sesi yang sama apabila anda kembali. TigerVNC melakukan perkara tersebut. vncserver -localhost yes :1 mengikat Xvnc kepada 127.0.0.1 pada TCP 5901, dan menolak sambungan dari tempat lain, jadi anda perlu melakukan tunneling seperti xrdp dengan ssh -N -L 5901:127.0.0.1:5901 you@vps.example.com. Jangan sekali-kali mendedahkan port VNC kepada umum. Kebanyakan pelayan VNC hanya melindungi kata laluan semasa jabat tangan (handshake) dan tiada perlindungan selepas itu, jadi pada port awam, kandungan sesi boleh dibaca melalui rangkaian.
Adakah VPS sesuai dijadikan desktop?
Sebagai peranti harian, jawapannya tidak, dan terdapat banyak sebab untuk itu. Tiada GPU tersedia, jadi CPU perlu memproses segala paparan. Setiap ketukan papan kekunci menunggu perjalanan rangkaian pergi-balik, dan kependaman 40 ms yang dirasakan biasa dalam SSH akan sangat ketara dalam penyunting teks. Video dimampatkan dua kali, sekali oleh laman web dan sekali lagi oleh pengekod RDP. Fail anda berada pada cakera yang tidak berada dalam kawalan anda, dan penggunaan desktop yang berat akan menghabiskan kuota lebar jalur bulanan yang sebenarnya diperuntukkan untuk pelayan web.
Sebagai mesin pakai buang, ia sangat bagus, dan ciri-ciri yang sama menjelaskan sebabnya. Alamat IP adalah stabil dan milik pusat data, iaitu perkara yang anda perlukan apabila sesuatu servis perlu melihat alamat yang konsisten. Mesin boleh dibina semula daripada imej dalam masa beberapa minit, jadi sesi yang dijangkiti perisian hasad tidak akan merugikan anda. Ia terasing daripada perkakasan sebenar anda, dan ia terus berjalan walaupun komputer riba anda ditutup. Pengebilan mengikut jam menjadikan desktop pakai buang ini murah.
Jika anda masih memikirkan tujuan penggunaan pelayan tersebut, senarai praktikal kegunaan VPS wajar dibaca sebelum anda memasang desktop padanya. Dan jika sebab anda mahukan desktop adalah kerana satu aplikasi Windows, pertimbangkan dahulu perbezaan sebenar antara Linux dan Windows Server, kerana lesen akan mengubah kos penyelesaian tersebut.
FAQ
Bolehkah saya menjalankan desktop jauh pada VPS 2 GB?
Boleh, dengan persekitaran desktop yang ringan. XFCE atau LXQt menggunakan sekitar 300 hingga 400 MB selepas log masuk, yang meninggalkan ruang yang cukup untuk pelayar web dengan beberapa tab. GNOME atau KDE Plasma pada 2 GB hampir tidak meninggalkan ruang untuk aplikasi. Tambahkan fail swap sebesar 2 GB supaya tekanan memori hanya melambatkan mesin dan bukannya mematikan proses. Apabila sesuatu aplikasi hilang tanpa sebarang mesej, periksa dmesg | grep -i "killed process" untuk melihat kernel out-of-memory killer.
Patutkah saya membuka port 3389 pada firewall VPS saya?
Tidak. TCP 3389 sentiasa diimbas dan kotak log masuk RDP yang terdedah mengundang serangan tekaan kata laluan. Tetapkan port=tcp://.:3389 dalam /etc/xrdp/xrdp.ini supaya xrdp hanya mendengar pada 127.0.0.1, sahkan dengan ss -tlnp | grep 3389, dan akses ia menggunakan ssh -N -L 3389:127.0.0.1:3389 you@vps.example.com. Untuk lebih daripada seorang atau dua pengguna, ikat xrdp pada alamat WireGuard dan bukannya loopback.
Mengapa xrdp meminta "Authentication is required to create a color managed device"?
Servis colord meminta kebenaran daripada polkit, dan polkit hanya memberikan tindakan tersebut secara senyap kepada sesi yang berada di lokasi tempatan (locally seated). Sesi RDP tidak dianggap sebagai sesi tempatan, jadi anda akan menerima gesaan kata laluan pada setiap log masuk. Pada Ubuntu 24.04, penyelesaian .pkla yang lama tidak berkesan kerana polkit 124 telah membuang fail autoriti tempatan. Cipta /etc/polkit-1/rules.d/45-allow-colord.rules yang mengandungi peraturan JavaScript yang mengembalikan polkit.Result.YES untuk id tindakan yang bermula dengan org.freedesktop.color-manager., kemudian jalankan sudo systemctl restart polkit.
Bolehkah saya meletakkan pelayan RustDesk yang dihoskan sendiri di belakang nginx atau Traefik?
Bukan untuk servis utama. hbbs dan hbbr menggunakan protokol binari mereka sendiri dan bukannya HTTP, jadi tiada pengepala Host untuk tujuan penghalaan, dan UDP 21116 tidak boleh melalui proksi HTTP sama sekali. Buka TCP 21115 hingga 21119 dan UDP 21116 pada firewall dan benarkan klien menyambung secara terus. Port websocket 21118 dan 21119, yang digunakan oleh klien web, adalah berasaskan HTTP dan boleh diletakkan di belakang proksi. Jika anda berbuat demikian, kawal akses firewall supaya hanya proksi yang boleh mencapainya, kerana hbbs mempercayai X-Real-IP pada sambungan tersebut.
Mengapa tiada bunyi dalam sesi xrdp saya?
Ubuntu 24.04 menggunakan PipeWire manakala pengalihan bunyi xrdp dibina untuk PulseAudio, jadi audio tidak akan berfungsi sehingga anda memasang jambatan (bridge) tersebut. Jalankan sudo apt install -y pipewire-module-xrdp, kemudian log keluar sepenuhnya daripada sesi dan log masuk semula, kerana modul dimuatkan semasa permulaan sesi dan penyambungan semula tidak akan memuatkannya. Semak dengan pactl list short sinks untuk melihat sink yang menamakan xrdp, dan pastikan klien meminta audio, iaitu melalui flag /sound pada xfreerdp3 atau "Remote audio" dalam klien Windows.