SSD Nodes Learn 🎉 VPS mulai $5.50/bln
Panduan Matt ConnorOleh Matt Connor

Desktop Jarak Jauh di VPS Linux dengan xrdp dan XFCE

Jalankan desktop grafis nyata di VPS Linux memakai xrdp dan XFCE. Terowongkan koneksi melalui SSH tanpa membuka port 3389, lalu pahami peran RustDesk.

Arti sebenarnya dari desktop jarak jauh pada VPS Linux

Ada dua produk berbeda yang dapat dimaksud oleh pencarian "remote desktop on a Linux VPS", dan memilih yang salah dapat membuang waktu Anda. Yang pertama adalah broker akses jarak jauh. Server self-hosted RustDesk adalah contoh umum: server ini meneruskan sesi antara dua mesin yang sudah Anda miliki, seperti laptop dan PC di rumah. Server sewaan tersebut tidak menampilkan desktop apa pun. Server ini memperkenalkan kedua perangkat dan meneruskan paket ketika keduanya tidak dapat saling menjangkau secara langsung. Yang kedua adalah desktop grafis nyata yang berjalan pada server sewaan. Dalam kasus ini, piksel dirender di pusat data lalu dialirkan kepada Anda. Teknologi yang digunakan dapat berupa xrdp, VNC (virtual network computing), atau workspace container.

Satu pertanyaan dapat membedakan keduanya. Setelah sistem 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 berikut terutama membahas kasus kedua karena kasus ini paling sering dilewatkan oleh panduan.

Opsi yang sesuai dengan pekerjaan 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 merupakan 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 pada kotak login RDP, karena port tersebut tidak pernah menghadap Internet. Opsi ini tidak melindungi password akun 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 protokol yang lebih lama dan lebih sederhana daripada RDP. Jika digunakan sendiri, VNC tidak melindungi 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 dalam container yang dapat Anda hapus dan bangun ulang, sehingga mesin asli Anda terlindungi dari apa pun yang diakses browser tersebut. Opsi ini tidak melindungi host. Image tersebut berjalan dengan hak akses luas dan memiliki sudo tanpa password di dalamnya, sehingga container bukan batas keamanan yang boleh Anda percayai untuk workload yang berbahaya.

Instal xrdp dan XFCE pada 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), yaitu 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 xrdp

Ubuntu 24.04 menyediakan xrdp 0.9.24 dan xorgxrdp dalam komponen universe, per August 2026. Instal xorgxrdp berdasarkan namanya meskipun paket ini 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 ~/.xsession

Terakhir, xrdp perlu membaca key 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 xrdp

Output listing menampilkan -rw-r----- 1 root ssl-cert. Jika id xrdp tidak menampilkan ssl-cert di antara grupnya, jalankan sudo adduser xrdp ssl-cert lalu sudo systemctl restart xrdp. Jika langkah ini dilewati, xrdp tidak dapat membuka key 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 terus-menerus dipindai oleh berbagai pihak di Internet, dan kotak login RDP merespons setiap percobaan kata sandi. Jangan membuka port tersebut. 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://.:3389

File yang disertakan mendokumentasikan sintaks tersebut dalam komentarnya sendiri: tcp://.:3389 berarti 127.0.0.1:3389, sedangkan tcp://:3389 berarti semua interface. Restart layanan 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 3389

Yang Anda inginkan adalah 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 terdapat lebih jauh dalam file.

Sekarang buka tunnel dari komputer Anda sendiri.

ssh -N -L 3389:127.0.0.1:3389 you@vps.example.com

-N berarti "buka koneksi tetapi jangan jalankan perintah", 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, gunakan 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 /sound

Pada Windows, gunakan mstsc bawaan dan masukkan 127.0.0.1 sebagai nama komputer. FreeRDP meminta Anda mempercayai sertifikat pada koneksi pertama dan menampilkan Do you trust the above certificate? (Y/T/N). Hal ini wajar karena sertifikat snakeoil yang digunakan adalah self-signed.

Jika ssh menjawab bind [127.0.0.1]:3389: Address already in use, berarti sesuatu pada komputer 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 balik VPN WireGuard yang di-host sendiri, berikan alamat tunnel 10.8.0.1, dan atur port=tcp://10.8.0.1:3389 agar xrdp hanya merespons dari dalam VPN. Apa pun metodenya, aturan firewall untuk 3389 seharusnya tidak ada sama sekali. Jika Anda tidak yakin aturan saat ini mengizinkan apa saja, mulai dari dasar-dasar firewall ufw pada VPS dan periksa sebelum terhubung, bukan setelahnya.

Berapa RAM yang digunakan desktop jarak jauh pada VPS 2 GB

Desktop yang Anda pilih menentukan apakah paket 2 GB masih nyaman digunakan atau tidak dapat digunakan sama sekali. Angka di bawah ini adalah angka umum yang telah dibulatkan untuk penggunaan memori sesaat setelah login di Ubuntu 24.04. Angka tersebut diambil dari perbandingan yang dipublikasikan, bukan dari pengukuran pada mesin Anda. Ukur penggunaan pada mesin Anda sendiri dengan free -m segera setelah terhubung.

ChartTypical memory in use after login, Ubuntu 24.04 (published figures)
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, perbedaan penggunaan memorinya terlihat jelas. LXQt menggunakan sekitar 300 MB dan XFCE sekitar 400 MB. Keduanya masih menyisakan ruang pada server 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, lalu mulai menggunakan swap. Tambahkan swap agar mesin melambat, bukan menghentikan proses: sudo fallocate -l 2G /swapfile, kemudian sudo chmod 600 /swapfile, sudo mkswap /swapfile, sudo swapon /swapfile, dan tambahkan baris yang sesuai di /etc/fstab agar konfigurasi tetap berlaku setelah reboot. Jika sesuatu tiba-tiba hilang tanpa peringatan, jalankan dmesg | grep -i "killed process". Baris tersebut berarti kernel telah menghentikan proses 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. Karena itu, X menggunakan software rendering melalui llvmpipe, sehingga CPU menggambar setiap piksel. Menggulir halaman yang berat dan memutar video akan terlihat sebagai beban CPU biasa. Akibatnya, frame rate menurun, bukan mesin yang berhenti merespons. Itulah batas yang sama jika Anda bertanya 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. Ubuntu menyediakan bridge-nya.

sudo apt install -y pipewire-module-xrdp pulseaudio-utils alsa-utils

Keluar sepenuhnya dari sesi RDP, lalu masuk kembali karena modul dimuat saat sesi dimulai. Menyambungkan kembali saja tidak cukup. Kemudian, periksa dari dalam sesi:

pactl list short sinks
speaker-test -c 2 -t wav -l 1

Anda seharusnya melihat sink yang namanya memuat xrdp dan mendengar nada uji melalui client. Jika tidak ada sink xrdp, modul tidak dimuat ke dalam sesi ini. Client Anda juga harus meminta audio. Pada xfreerdp3, pengaturannya adalah flag /sound, 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. Konfirmasikan dengan pgrep -a xrdp-chansrv. Jika copy dan paste berhenti berfungsi di tengah sesi, proses tersebut berhenti, dan koneksi ulang akan menjalankannya kembali. Menyalin file, bukan teks, menggunakan channel terpisah yang disebut drive redirection: /drive:home,/home/you pada xfreerdp3 memasang folder lokal ke dalam sesi remote.

Kejutan yang paling umum saat login pertama adalah dialog bertuliskan Authentication is required to create a color managed device. Penyebabnya spesifik. Service colord meminta izin kepada polkit. polkit memberikan tindakan tersebut secara diam-diam hanya kepada sesi yang dianggap berada di konsol lokal. Sesi RDP tidak dianggap berada di konsol lokal, sehingga polkit meminta password. Ubuntu 24.04 menyertakan polkit 124, yang menghapus file authority lokal lama .pkla. Karena itu, semua panduan yang menyarankan Anda menulis /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla sama sekali tidak berpengaruh pada 24.04. Gunakan rule JavaScript sebagai gantinya.

/* /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 sambungkan kembali. Ada dua kegagalan lain yang perlu diketahui berdasarkan gejalanya.

Kotak login menerima password Anda lalu langsung muncul kembali. Sesi berhasil dimulai, tetapi kemudian berhenti. Baca /var/log/xrdp-sesman.log terlebih dahulu, lalu ~/.xsession-errors di direktori home Anda. File xorgxrdp yang hilang, ~/.xsession yang menyebut desktop yang belum terpasang, direktori home yang tidak dapat Anda tulisi, atau disk yang penuh semuanya dapat menyebabkan kondisi ini.

Anda tersambung dan melihat layar abu-abu dengan kursor X. X berhasil dimulai, tetapi desktop tidak. Ini kembali merupakan ~/.xsession: jalankan xfce4-session secara manual melalui SSH, lalu baca error yang ditampilkan.

Fungsi server RustDesk yang di-host sendiri

RustDesk terbagi menjadi dua proses. hbbs adalah server ID dan rendezvous yang digunakan klien 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. Berikut file compose yang dipublikasikan oleh proyek 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-stopped

Jalankan layanan tersebut, lalu baca kunci publik yang dibuat server saat pertama kali dijalankan:

sudo docker compose up -d
sudo cat ./data/id_ed25519.pub

Setiap klien memerlukan hostname dan kunci publik Anda. Masukkan keduanya pada pengaturan Network di klien RustDesk. Kunci privat yang sesuai tetap berada di ./data/id_ed25519. Jika direktori data dihapus, server akan membuat pasangan kunci baru. Setelah itu, setiap klien harus dikonfigurasi ulang menggunakan kunci baru tersebut. Cadangkan direktori itu.

Firewall harus mengizinkan port berikut 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/tcp

Mengapa RustDesk tidak dapat ditempatkan di belakang nginx atau Traefik

Pembaca yang sudah melakukan terminasi TLS untuk semua layanan pada satu reverse proxy sering mencoba konfigurasi ini, lalu 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 router HTTP Traefik tidak memiliki aturan yang cocok. Listener UDP pada 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 pendekatan ini, tambahkan aturan firewall agar hanya proxy yang dapat mengakses 21118 dan 21119. hbbs mengandalkan header X-Real-IP pada koneksi websocket untuk mengetahui alamat klien yang sebenarnya.

Peramban sekali pakai dalam container

Terkadang Anda hanya memerlukan peramban bersih dengan IP yang tidak berubah dan terpisah dari mesin Anda sendiri. Workspace container menyediakan hal tersebut dengan lebih sedikit perangkat lunak yang harus diinstal. 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-stopped

Port 3000 melayani HTTP dan port 3001 melayani HTTPS. Anda dapat mengakses desktop melalui tab peramban tanpa memerlukan klien RDP. Tag image mencakup XFCE, KDE, MATE, dan i3 pada beberapa distribusi dasar. Dokumentasi resmi proyek ini menyatakan risikonya secara tegas: container memiliki akses istimewa ke host dan menyertakan terminal dengan 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 menggunakan konsep yang sama dalam skala yang jauh lebih besar, dengan konsol web, akun pengguna, dan container per sesi yang direset ketika sesi berakhir. Kasm Workspaces memerlukan mesin dengan kapasitas lebih besar daripada VPS kecil. Per Agustus 2026, minimum yang didokumentasikan adalah 2 core CPU, memori 4 GB, dan SSD 50 GB. Selain itu, setiap sesi pengguna secara default menggunakan 2 core dan 2768 MB. Paket 2 GB tidak akan dapat menjalankannya. Instalasinya berupa pengunduhan 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.sh

VNC dan kegunaannya

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 berguna dalam satu situasi: Anda ingin sesi desktop tetap berjalan setelah koneksi terputus, lalu mendapatkan kembali sesi yang sama saat tersambung lagi. TigerVNC mendukung hal tersebut. vncserver -localhost yes :1 mengikat Xvnc ke 127.0.0.1 pada TCP 5901 dan menolak koneksi dari lokasi lain, sehingga Anda dapat melakukan tunneling dengan cara yang sama seperti pada xrdp menggunakan ssh -N -L 5901:127.0.0.1:5901 you@vps.example.com. Jangan pernah membuka port VNC ke publik. Sebagian besar server VNC hanya melindungi kata sandi selama proses handshake. Setelah itu, tidak ada perlindungan untuk isi sesi. Jika port dibuka ke publik, isi sesi dapat dibaca saat melintasi jaringan.

Apakah VPS cocok digunakan sebagai desktop?

Sebagai perangkat utama sehari-hari, tidak. Alasannya cukup banyak. VPS tidak memiliki GPU, sehingga CPU harus merender semua tampilan. Setiap penekanan tombol menunggu perjalanan pulang-pergi melalui jaringan. Latensi 40 ms yang terasa baik saat menggunakan SSH akan terasa mengganggu di editor teks. Video dikompresi dua kali: pertama oleh situs, lalu oleh encoder RDP. File Anda tersimpan pada disk yang tidak Anda pegang. Penggunaan desktop secara intensif juga menghabiskan kuota bandwidth bulanan yang biasanya disediakan untuk web server.

Sebagai mesin sementara, VPS sangat baik. Sifat yang sama menjelaskan alasannya. Alamat IP stabil dan berasal dari data center. Ini sesuai jika layanan harus melihat alamat yang konsisten. Mesin dapat dibuat ulang dari image dalam hitungan menit. Dengan demikian, sesi yang terkena sesuatu yang berbahaya tidak menimbulkan kerugian berarti. VPS terisolasi dari perangkat keras nyata Anda. VPS juga tetap berjalan saat laptop ditutup. Penagihan per jam membuat desktop sementara menjadi murah.

Jika Anda masih menentukan tujuan penggunaan mesin tersebut, daftar praktis tentang kegunaan VPS layak dibaca sebelum memasang desktop di dalamnya. Jika Anda menginginkan desktop karena satu aplikasi Windows, bandingkan terlebih dahulu dengan perbedaan nyata antara Linux dan Windows Server. Lisensi dapat mengubah biaya solusi tersebut.

FAQ

Dapatkah saya menjalankan desktop jarak jauh 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, dan jika sesuatu menghilang tanpa pesan, periksa dmesg | grep -i "killed process" untuk melihat out-of-memory killer milik kernel.

Apakah saya harus membuka port 3389 pada firewall VPS?

Tidak. TCP 3389 terus-menerus dipindai, dan kotak login RDP yang terekspos memudahkan percobaan kata sandi. Atur port=tcp://.:3389 dalam /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. Jika digunakan oleh lebih dari satu atau dua orang, 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 memiliki sesi lokal. Session RDP tidak dianggap sebagai sesi lokal, sehingga Anda mendapatkan prompt kata sandi 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 yang mengembalikan polkit.Result.YES untuk action id yang diawali org.freedesktop.color-manager., lalu jalankan sudo systemctl restart polkit.

Dapatkah saya menempatkan server RustDesk yang di-host sendiri di balik nginx atau Traefik?

Tidak untuk service utama. hbbs dan hbbr menggunakan protokol biner masing-masing, bukan HTTP, sehingga tidak ada header Host yang dapat digunakan untuk routing. UDP 21116 juga sama sekali tidak dapat melewati HTTP proxy. 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 adalah HTTP dan dapat ditempatkan di balik proxy. Jika melakukannya, batasi aksesnya pada firewall agar hanya proxy yang dapat menjangkaunya karena hbbs memercayai X-Real-IP pada koneksi tersebut.

Mengapa tidak ada suara dalam session xrdp saya?

Ubuntu 24.04 menggunakan PipeWire, sedangkan pengalihan 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 module dimuat saat session dimulai dan reconnect tidak akan memuatnya. Periksa dengan pactl list short sinks untuk menemukan sink yang namanya memuat xrdp, dan pastikan client meminta audio. Pada /sound di xfreerdp3, opsi tersebut adalah flag, sedangkan pada client Windows opsinya bernama "Remote audio".

#remote-desktop#xrdp#rustdesk#vnc#self-hosting