SSD Nodes Learn Hosting plans →
Panduan Matt ConnorOleh Matt Connor · Dikemas kini 2026-08-29

Cara Pasang Remote Desktop pada VPS Linux

Ketahui perbezaan antara broker RustDesk dan desktop grafik xrdp pada VPS. Panduan ini menunjukkan cara menjalankan XFCE melalui terowong SSH untuk keselamatan maksimum.

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 capaian 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 ia 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 penuding tetikus berada? Pada mesin yang sudah anda miliki, anda memerlukan broker. Pada VPS itu sendiri, anda memerlukan desktop pada VPS tersebut. Kes kedua mendapat ruang paling banyak di bawah, kerana ia adalah kes yang kebanyakan panduan terlepas pandang.

Pilihan yang sesuai dengan tugas anda

  • RustDesk dengan relay anda sendiri. Ia melindungi sesi daripada melalui pelayan rendezvous awam yang dikendalikan oleh pihak luar, 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 terowong SSH atau VPN. Ia melindungi anda daripada imbasan internet menyeluruh yang 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 terowong tersebut.
  • VNC melalui terowong yang sama. Ia memberikan anda sesi desktop yang kekal walaupun selepas terputus sambungan, menggunakan protokol yang lebih lama dan ringkas berbanding RDP. Secara sendirinya, ia tidak melindungi apa-apa: terowong 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 sudo tanpa 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 yang lazim.

sudo apt update
sudo apt install -y xrdp xorgxrdp xfce4 xfce4-goodies dbus-x11
systemctl is-active xrdp

Ubuntu 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 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 ~/.xsession

Akhir 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 xrdp

Penyenaraian 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.

Sebab anda tidak patut membuka port 3389 kepada internet

TCP 3389 diimbas secara berterusan oleh semua entiti di internet, dan kotak log masuk RDP akan menjawab dengan sopan bagi setiap percubaan kata laluan. Jangan buka port ini. Sebaliknya, ikat xrdp pada alamat loopback dan capai ia melalui terowong yang anda sudah percayai.

Sunting /etc/xrdp/xrdp.ini dan tukar pendengar (listener) dalam bahagian [Globals].

[Globals]
port=tcp://.:3389

Fail yang dibekalkan mendokumentasikan sintaks tersebut dalam komennya sendiri: tcp://.:3389 bermaksud 127.0.0.1:3389, dan tcp://:3389 bermaksud semua antara muka (interface). Mulakan semula dan sahkan, kerana kesilapan menaip di sini akan menyebabkan servis kekal terbuka pada semua alamat tanpa sebarang amaran.

sudo systemctl restart xrdp
ss -tlnp | grep 3389

Anda mahukan 127.0.0.1:3389. Jika melihat 0.0.0.0:3389, ini bermakna xrdp mengabaikan suntingan anda, biasanya kerana baris tersebut berada di bawah tajuk bahagian lain yang lebih jauh ke bawah dalam fail.

Sekarang, buka terowong daripada mesin anda sendiri.

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

-N bermaksud "buka sambungan tetapi jangan jalankan sebarang arahan", jadi sesi tersebut wujud hanya untuk membawa port berkenaan. Biarkan terminal itu berjalan dan halakan klien RDP ke 127.0.0.1:3389. Pada klien Linux, perisian yang digunakan ialah FreeRDP 3, yang binari-nya pada Ubuntu 24.04 dinamakan xfreerdp3:

sudo apt install -y freerdp3-x11
xfreerdp3 /v:127.0.0.1:3389 /u:you /dynamic-resolution +clipboard /sound

Pada Windows, gunakan mstsc terbina dalam dan taip 127.0.0.1 sebagai komputer. FreeRDP meminta anda mempercayai sijil pada sambungan pertama dan memaparkan Do you trust the above certificate? (Y/T/N), yang dijangkakan bagi sijil "snakeoil" yang ditandatangani sendiri.

Jika ssh menjawab bind [127.0.0.1]:3389: Address already in use, sesuatu pada mesin anda sendiri sudah menggunakan port 3389. Alihkan bahagian tempatan dengan ssh -N -L 13389:127.0.0.1:3389 you@vps.example.com dan sambung ke 127.0.0.1:13389.

Satu terowong bagi setiap orang akan menjadi membebankan, jadi bagi satu pasukan, jawapan yang lebih baik ialah rangkaian peribadi. Letakkan kotak tersebut di sebalik VPN WireGuard yang dihoskan sendiri, berikan alamat terowong 10.8.0.1, dan tetapkan port=tcp://10.8.0.1:3389 supaya xrdp hanya menjawab di dalam VPN. Walau apa pun caranya, peraturan firewall untuk 3389 tidak sepatutnya wujud langsung. Jika anda tidak pasti apa yang dibenarkan oleh peraturan semasa anda, mulakan daripada asas firewall ufw pada VPS dan periksa sebelum anda menyambung, bukan selepasnya.

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 penggunaan memori sejurus selepas log masuk pada Ubuntu 24.04, yang diambil daripada perbandingan yang diterbitkan dan bukannya diukur pada mesin anda sendiri. Ukur penggunaan anda dengan free -m sejurus selepas anda menyambung.

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"
  }
]

Merentasi 5 desktop tersebut, perbezaannya adalah perkara utama. LXQt berada sekitar 300 MB dan XFCE sekitar 400 MB, jadi kedua-duanya masih memberikan ruang pada mesin 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 menggunakan swap. Tambahkan swap supaya mesin menjadi perlahan dan bukannya mematikan proses: 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 tersebut bermaksud kernel out-of-memory killer telah menamatkan proses itu, dan pelayar web biasanya menjadi mangsa.

CPU adalah satu lagi had, dan ia lebih mudah untuk dipandang remeh. VPS tidak mempunyai GPU, jadi X beralih kepada rendering perisian melalui llvmpipe, yang bermaksud CPU melukis setiap piksel. Menatal halaman yang berat dan memainkan video kedua-duanya akan 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 inilah sebabnya.

Audio dan papan keratan dalam sesi xrdp

Ubuntu 24.04 menggunakan PipeWire untuk audio, manakala pengalihan semula audio xrdp ditulis untuk PulseAudio. Oleh itu, pemasangan baharu akan memberikan paparan video yang berfungsi tetapi tiada bunyi. Ubuntu menyediakan jambatan (bridge) untuk perkara ini.

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

Log keluar sepenuhnya daripada sesi RDP dan log masuk semula, kerana modul tersebut dimuatkan apabila sesi bermula. Sambungan semula (reconnect) tidak mencukupi. Kemudian, semak dari dalam sesi:

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

Anda 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 tempatan ke dalam sesi jauh.

Pop-up 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 (locally seated), 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 mempunyai 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 serta-merta. Baca /var/log/xrdp-sesman.log dahulu, kemudian ~/.xsession-errors dalam direktori home anda. Fail xorgxrdp yang hilang, ~/.xsession yang menamakan desktop yang tidak dipasang, direktori home yang tidak boleh ditulis, atau cakera yang penuh, semuanya berakhir di sini.

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 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-stopped

Jalankan ia, kemudian baca kunci awam yang dijana oleh pelayan pada permulaan pertamanya:

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

Setiap 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. Jika ini menjadi cara pasukan anda mencapai setiap mesin dan bukan sekadar eksperimen hujung minggu, binaan khusus geganti RustDesk adalah berbaloi untuk diikuti bagi pengendalian kunci Ed25519, tag imej yang dipinkan (pinned) dan bukannya latest, serta lebar jalur geganti yang dibayar oleh pelan anda.

Firewall perlu membenarkan 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/tcp

Mengapa RustDesk tidak boleh diletakkan di belakang nginx atau Traefik

Pembaca yang sudah melakukan TLS termination untuk segala-galanya pada satu reverse proxy sering mencuba konfigurasi 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 kriteria untuk dipadankan. Pendengar UDP pada 21116 bukanlah entiti HTTP pada mana-mana lapisan.

Dua kaedah boleh digunakan. nginx boleh memajukan port TCP dengan blok stream, yang merupakan pemajuan lapisan 4 (layer 4) 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-stopped

Port 3000 menyediakan HTTP dan 3001 menyediakan HTTPS, dan anda boleh mengakses desktop tersebut melalui tab pelayar tanpa memerlukan sebarang klien RDP. Tag imej merangkumi XFCE, KDE, MATE dan i3 pada beberapa pengedaran asas. Dokumentasi projek itu sendiri menyatakan risiko dengan jelas: 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 atau VPN yang sama seperti yang anda gunakan untuk xrdp.

Kasm Workspaces mempunyai konsep yang sama tetapi dengan saiz yang jauh lebih besar, lengkap dengan konsol web, akaun pengguna dan kontena bagi setiap sesi yang akan ditetapkan semula apabila sesi berakhir. Ia memerlukan spesifikasi mesin yang lebih tinggi daripada VPS kecil. Setakat Ogos 2026, spesifikasi minimum yang didokumentasikan 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.sh

VNC, 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 pemacu harian, jawapannya tidak, dan terdapat banyak sebab untuk itu. Tiada GPU tersedia, jadi CPU perlu memproses segala paparan. Setiap ketukan kekunci perlu menunggu perjalanan rangkaian pergi dan balik, dan latensi 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 anda miliki, dan penggunaan desktop yang berat akan menghabiskan kuota lebar jalur bulanan yang sebenarnya disasarkan untuk pelayan web.

Sebagai mesin pakai buang, ia sangat bagus, dan ciri yang sama menjelaskan sebabnya. Alamat IP adalah stabil dan milik pusat data, iaitu apa yang anda perlukan apabila sesuatu servis mesti melihat alamat yang konsisten. Mesin boleh dibina semula daripada imej dalam beberapa minit, jadi sesi yang dijangkiti sesuatu yang berbahaya tidak merugikan anda. Ia terasing daripada perkakasan sebenar anda, dan ia terus berjalan walaupun komputer riba anda ditutup. Pengebilan setiap jam menjadikan desktop pakai buang ini murah.

Jika anda masih memikirkan tujuan mesin tersebut, senarai praktikal tentang kegunaan VPS wajar dibaca sebelum anda memasang desktop padanya. Dan jika sebab anda mahukan desktop adalah kerana satu aplikasi Windows, pertimbangkan perkara itu berbanding perbezaan sebenar antara Linux dan Windows Server terlebih dahulu, kerana lesen akan mengubah kos jawapannya.

FAQ

Bolehkah saya menjalankan desktop jauh pada VPS 2 GB?

Boleh, dengan persekitaran desktop yang ringan. XFCE atau LXQt menggunakan kira-kira 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 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 tindakan 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.

Mengapakah 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 duduk secara setempat (locally seated). Sesi RDP tidak dianggap sebagai sesi setempat, jadi anda akan menerima gesaan kata laluan pada setiap log masuk. Pada Ubuntu 24.04, pembaikan .pkla yang lama tidak berfungsi kerana polkit 124 telah membuang fail autoriti setempat. 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 sendiri dan bukannya HTTP, jadi tiada Host header untuk melakukan 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.

Mengapakah 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 bridge. Jalankan sudo apt install -y pipewire-module-xrdp, kemudian log keluar sepenuhnya daripada sesi dan log masuk semula, kerana modul tersebut dimuatkan semasa sesi bermula dan penyambungan semula (reconnect) 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.

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