SSD Nodes Learn Hosting plans →
Panduan Matt ConnorOleh Matt Connor

Remote Desktop Ubuntu Tanpa Monitor via SSH

Ubuntu 26.04 tidak lagi menyediakan GNOME melalui xrdp. Aktifkan GNOME Remote Login lewat SSH, lalu akses port 3389 dengan tunnel atau Tailscale.

Cara menggunakan remote desktop Ubuntu tanpa monitor

Untuk menggunakan remote desktop Ubuntu tanpa monitor, aktifkan GNOME Remote Desktop dalam mode Remote Login. Remote Login memulai sesi GNOME sendiri dari layar login, sehingga mesin tidak memerlukan monitor dan tidak ada pengguna yang perlu masuk terlebih dahulu. Anda hanya perlu menyiapkannya sekali melalui SSH dengan grdctl, lalu terhubung dari klien RDP (remote desktop protocol) apa pun pada port 3389.

Panduan ini ditujukan untuk mesin Ubuntu Desktop tanpa monitor yang terpasang, seperti home server atau mini PC. Panduan ini terlebih dahulu membahas Ubuntu 26.04 LTS, kemudian menjelaskan perbedaannya pada 24.04 LTS. Jika mesin Anda adalah VPS (virtual private server) dengan desktop XFCE yang ringan, xrdp tetap sesuai untuk kasus tersebut. Panduan remote desktop pada Linux VPS dengan xrdp dan XFCE menjelaskan langkah-langkahnya. Panduan ini tidak mengulanginya.

Mengapa xrdp tidak berfungsi dengan GNOME di Ubuntu 26.04

Banyak panduan lama memasang xrdp. Di Ubuntu 26.04, langkah tersebut tidak menyediakan desktop GNOME. Penyebabnya dijelaskan dalam catatan rilis 26.04: GNOME Shell tidak lagi dapat berjalan sebagai sesi X.org, dan sesi Ubuntu Desktop kini hanya berjalan pada backend Wayland. xrdp hanya berfungsi dengan Xorg, sehingga tidak memiliki sesi GNOME untuk dijalankan.

Skrip penginstal xrdp yang populer dari c-nergy.be menyatakan hal yang sama. Versi 1.6, yang diterbitkan pada May 2026, tidak memasang paket xrdp jika menemukan desktop GNOME tanpa dukungan X11. Penulisnya menyatakan bahwa Ubuntu 26.04 dengan GNOME tidak didukung, dan mengarahkan pengguna GNOME ke GNOME Remote Desktop bawaan.

Desktop lain masih memiliki pilihan. Catatan rilis menyatakan bahwa KDE pada X11, Xfce, MATE, i3, dan banyak desktop lainnya masih dapat menjalankan sesi X.org, sementara aplikasi X11 tetap berjalan melalui XWayland. Untuk informasi lainnya tentang rilis ini, baca perubahan di Ubuntu 26.04.1 dan waktu untuk melakukan upgrade.

Desktop Sharing atau Remote Login: mana yang Anda perlukan?

GNOME Remote Desktop adalah server RDP yang disertakan bersama GNOME. Dokumentasi upstream menjelaskan tiga cara untuk menjalankannya: bantuan jarak jauh, headless untuk satu pengguna, dan remote login headless. Aplikasi Settings menampilkan dua di antaranya dengan dua nama.

  • Desktop Sharing adalah bantuan jarak jauh. Fitur ini mencerminkan sesi yang sudah berjalan di mesin. Anda melihat layar yang sama seperti yang dilihat orang yang duduk di depan mesin.
  • Remote Login adalah remote login headless. Klien RDP Anda terlebih dahulu menampilkan layar login GDM (GNOME display manager), lalu Anda masuk ke sesi baru dari sana. Remote Login hanya berfungsi melalui RDP, bukan VNC (virtual network computing).

Untuk mesin tanpa monitor, gunakan Remote Login. Desktop Sharing memerlukan sesi yang sudah ada. Setelah reboot, tidak ada pengguna yang masuk, sehingga Desktop Sharing tidak memiliki sesi untuk dicerminkan.

Desktop Sharing memiliki jebakan kedua. Catatan konfigurasi upstream menyebutkan bahwa dalam mode bantuan jarak jauh, penguncian layar juga menutup koneksi jarak jauh. Jadi, ketika sesi pada mesin terkunci, koneksi Desktop Sharing Anda ikut terputus. Remote Login tidak bergantung pada sesi lokal. Karena itu, mode ini sesuai untuk mesin yang tidak digunakan langsung oleh siapa pun.

Kedua mode juga menggunakan port yang berbeda. Bantuan GNOME menyebutkan bahwa Remote Login menggunakan port 3389. Desktop Sharing kemudian menggunakan port lain, seperti 3390, sehingga Anda mungkin perlu memasukkan port tersebut ke klien. Versi 46 server menambahkan penanganan untuk konflik antara daemon sistem dan daemon per pengguna ini.

Periksa versi yang Anda gunakan

lsb_release -ds
apt-cache policy gnome-remote-desktop

apt-cache policy seharusnya menampilkan baris Installed: yang mencantumkan versi. Per 1 November 2026, Launchpad mencantumkan 50.2-0ubuntu0.1 di updates pocket untuk 26.04 dan 46.3-0ubuntu1.2 untuk 24.04. Jika Installed: menampilkan (none), instal paket tersebut:

sudo apt update
sudo apt install -y gnome-remote-desktop

Versi mayor penting karena grdctl berubah antara 46 dan 50. Langkah-langkah di bawah ini menjelaskan setiap perbedaannya.

Menyiapkan Login Jarak Jauh melalui SSH di Ubuntu 26.04

Anda memerlukan akses SSH ke server. Jika server belum menjalankan SSH, sambungkan layar sekali lalu jalankan sudo apt install -y openssh-server. Jika layar sudah tersambung, Anda juga dapat menggunakan rute Settings pada bagian berikutnya dan melewati perintah ini.

Langkah 1: konfirmasi akun service

grdctl --system tidak mengubah pengaturan sebagai user Anda sendiri. Source 50.2 menunjukkan bahwa perintah tersebut menjalankan dirinya kembali melalui pkexec --user gnome-remote-desktop, sehingga setiap file yang dibacanya harus dapat dibaca oleh akun tersebut. Periksa apakah akun tersebut ada:

id gnome-remote-desktop

Anda akan melihat baris uid=. no such user berarti paket belum terinstal.

Langkah 2: buat sertifikat TLS

RDP di GNOME Remote Desktop memerlukan key dan sertifikat TLS (transport layer security). Dokumentasi upstream menyarankan agar file dibuat untuk system service sebagai user gnome-remote-desktop. Berikut perintah OpenSSL dari dokumentasi upstream, yang dijalankan sebagai user tersebut:

sudo -u gnome-remote-desktop sh -c 'mkdir -p ~gnome-remote-desktop/.local/share/gnome-remote-desktop && openssl req -new -newkey rsa:4096 -days 720 -nodes -x509 -subj /C=SE/ST=NONE/L=NONE/O=GNOME/CN=gnome.org -out ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.crt -keyout ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.key'

Sertifikat berlaku selama 720 hari. Catat tanggal tersebut karena Anda perlu membuat sertifikat baru sebelum masa berlakunya berakhir. Sekarang arahkan system daemon ke kedua file tersebut:

sudo grdctl --system rdp set-tls-key ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.key
sudo grdctl --system rdp set-tls-cert ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.crt

Langkah 3: atur kredensial RDP

Kredensial ini berupa user name dan password RDP yang terpisah. Keduanya bukan akun Linux Anda. Pengguna remote memasukkan pasangan kredensial ini terlebih dahulu, lalu login pada layar login GDM menggunakan akun Linux mereka sendiri. Pada 26.04, jalankan set-credentials tanpa argumen. Perintah tersebut membaca user name dan password dari standard input, sehingga password tidak tersimpan dalam shell history:

sudo grdctl --system rdp set-credentials

Langkah 4: aktifkan RDP dan start service

sudo grdctl --system rdp enable
sudo systemctl enable --now gnome-remote-desktop.service
systemctl is-active gdm.service

Dokumentasi upstream juga mengaktifkan gdm.service karena Remote Login menampilkan layar login GDM. Ubuntu Desktop sudah menggunakan GDM, sehingga perintah terakhir seharusnya mencetak active. Jika tidak, jalankan sudo systemctl enable --now gdm.service.

Langkah 5: periksa apakah service listening

sudo grdctl --system status --show-credentials
systemctl is-active gnome-remote-desktop.service
sudo ss -tlnp | grep 3389

grdctl --system status --show-credentials seharusnya menampilkan bagian RDP sebagai aktif pada port 3389, beserta file TLS dan user name Anda. Tanpa --show-credentials, status tetap mencetak port dan file TLS, tetapi menampilkan user name sebagai (hidden). Label yang digunakan dapat berbeda antarversi. systemctl is-active seharusnya mencetak active, dan ss seharusnya mencetak satu baris LISTEN pada port 3389. Jika tidak ada baris dari ss, berarti tidak ada service yang listening dan client akan menerima koneksi yang ditolak. Baca log dengan journalctl -u gnome-remote-desktop.service -n 50 untuk mengetahui penyebabnya.

Langkah 6: catat fingerprint sertifikat

Sertifikat tersebut ditandatangani sendiri, sehingga client RDP akan menampilkan peringatan saat koneksi pertama. Cetak fingerprint sekarang dan bandingkan dengan fingerprint yang ditampilkan client sebelum Anda menerimanya:

sudo openssl x509 -in ~gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.crt -noout -fingerprint -sha256

Beberapa client menampilkan thumbprint SHA-1. Jika demikian, jalankan perintah yang sama dengan -sha1. Fingerprint yang tidak cocok berarti Anda tidak sedang terhubung ke server Anda.

Path Settings, jika Anda dapat menyambungkan monitor satu kali

Jika Anda dapat menyambungkan monitor sekali, jalur grafis akan menetapkan mode yang sama. Bantuan GNOME saat ini menunjukkan path berikut: buka Settings, lalu System, lalu Remote Desktop, kemudian Remote Login. Klik Unlock dan lakukan autentikasi, lalu aktifkan Remote Login.

Bagian Login Details pada halaman tersebut menampilkan nama pengguna dan kata sandi yang diperlukan oleh klien Anda. Verify Encryption menampilkan sidik jari sertifikat untuk dibandingkan. Setelah selesai, lepaskan monitor. Remote Login tetap berfungsi karena tidak memerlukan sesi lokal.

Desktop Sharing berada pada halaman lain di bawah Remote Desktop. Aktifkan Desktop Sharing agar orang lain dapat melihat layar, dan Remote Control agar mereka dapat mengendalikannya. Lakukan ini hanya jika Anda juga mempertahankan sesi yang tetap masuk, karena alasan yang dijelaskan di atas.

Apa yang berbeda pada Ubuntu 24.04

Remote Login juga tersedia pada 24.04. Upstream menambahkan remote login tanpa monitor melalui GDM pada versi 46.alpha, dan Noble menyertakan versi 46.3. Rilis 46.2 juga memperbaiki CVE-2024-5148, yaitu celah pada proses pengalihan dari layar login ke sesi pengguna. Karena itu, pastikan apt-cache policy menampilkan versi yang sudah diperbarui, bukan versi asli 46.1.

Tata letak Settings seharusnya sama. GNOME Settings 46 menambahkan halaman Remote Login, mengganti nama halaman Remote Desktop lama menjadi Desktop Sharing, dan menempatkan Remote Desktop di bawah panel System baru. Noble menyertakan Settings 46.7. Jangan menyamakan Remote Login dengan Secure Shell pada panel System yang sama. Settings 46 memberi nama tersebut pada tombol SSH, dan itu merupakan fitur yang berbeda.

Perbedaan terbesar pada command line adalah set-credentials. Pada 46.3, perintah ini memerlukan nama pengguna dan kata sandi sebagai argumen. Perintah ini tidak menampilkan prompt. Baca kata sandi ke dalam variabel terlebih dahulu agar tidak tersimpan dalam riwayat shell:

read -rsp 'RDP password: ' GRD_PASS; echo
sudo grdctl --system rdp set-credentials rdpuser "$GRD_PASS"
unset GRD_PASS

Semua perintah lain dalam langkah-langkah 26.04 di atas memiliki bentuk yang sama pada 46.3: set-tls-key, set-tls-cert, enable, dan status. Namun, tiga fitur tidak tersedia pada 24.04. Sesi remote login persisten mulai tersedia pada versi 47, sehingga build 46.x belum mendukungnya. Simpan pekerjaan Anda sebelum memutuskan koneksi, lalu uji apa yang terjadi pada sesi Anda saat terhubung kembali. Versi 50 juga menambahkan remote login ke sesi autologin GDM tanpa monitor dan autentikasi Kerberos. Pada 24.04, Anda tidak memiliki kedua fitur tersebut.

Jika Anda memerlukan xrdp dengan GNOME secara khusus, skrip c-nergy hanya menolak GNOME 49 dan versi yang lebih baru, sedangkan 24.04 menggunakan GNOME 46. Itu menjadi alasan sebagian pembaca tetap menggunakan rilis lama. Kembali dari Ubuntu 26.04 ke 24.04 menjelaskan konsekuensi sebenarnya dari perpindahan tersebut.

Login otomatis: uji sebelum mengandalkannya

Beberapa panduan menyarankan Anda mengaktifkan login otomatis agar Desktop Sharing memiliki sesi untuk dicerminkan setelah reboot. Bantuan GNOME menempatkan opsi tersebut di Settings, System, Users, Unlock, Automatic Login. Halaman yang sama memperingatkan bahwa siapa pun yang menyalakan komputer kemudian dapat menggunakan akun dan data Anda.

Ada alasan kedua untuk berhati-hati. Dalam mode pengguna, source menyimpan kredensial RDP Desktop Sharing melalui libsecret, di koleksi keyring default Anda. Dengan login otomatis, Anda tidak pernah mengetikkan kata sandi saat boot. Karena itu, lakukan reboot pada komputer tersebut dan uji koneksi Desktop Sharing sebelum Anda meninggalkannya. Remote Login tidak memerlukan semua ini karena layanan tersebut dimulai dari layar login.

Mengapa port 3389 tidak boleh menghadap Internet

Jangan teruskan port 3389 pada router rumah Anda. Port RDP publik akan menerima percobaan login dari pihak yang tidak dikenal, dan satu-satunya penghalang antara mereka dan layar login Anda adalah satu kata sandi bersama. Akses mesin tersebut melalui jalur terenkripsi yang sudah Anda kendalikan. Ada dua opsi yang dapat digunakan.

Opsi 1: tunnel SSH

Jika Anda sudah dapat mengakses mesin tersebut melalui SSH, teruskan port lokal ke port RDP:

ssh -N -L 13389:127.0.0.1:3389 you@home-box

-L meneruskan port lokal 13389 ke port 3389 pada mesin tersebut, sedangkan -N memberi tahu SSH agar tidak menjalankan perintah remote karena Anda hanya memerlukan penerusan port. Biarkan terminal tersebut tetap terbuka. Arahkan klien RDP ke 127.0.0.1:13389. Port lokalnya adalah 13389, bukan 3389, karena mesin Windows yang mengaktifkan server Remote Desktop sendiri sudah menggunakan port 3389. Hanya port SSH yang perlu dapat diakses dari luar.

Opsi 2: Tailscale

Tailscale menempatkan kedua mesin pada satu jaringan privat sehingga tidak ada yang memerlukan port terbuka pada router. Instal Tailscale pada mesin Ubuntu dengan perintah dari dokumentasi Linux Tailscale:

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
tailscale ip -4

Instal Tailscale juga pada komputer klien Anda, lalu arahkan klien RDP ke alamat tailscale ip -4 yang tercetak, pada port 3389. Jika skrip instalasi berhenti karena error, memperbaiki error instalasi Tailscale di Ubuntu membahas masalah yang umum. Anda tidak memerlukan Tailscale SSH untuk ini. Tailscale SSH hanya menyediakan port 22, dan hanya pada alamat Tailscale, sedangkan RDP menggunakan port terpisah.

Jika ufw aktif pada mesin tersebut, Anda dapat mengizinkan RDP hanya dari interface tailnet:

sudo ufw allow in on tailscale0 to any port 3389 proto tcp

Kemudian pastikan port yang benar-benar terbuka dengan cara mencantumkan aturan firewall aktif di Ubuntu. Port 3389 tidak boleh muncul dalam aturan yang mengizinkannya dari mana saja.

Saat koneksi gagal

Klien melaporkan bahwa koneksi ditolak. Tidak ada proses yang mendengarkan pada port yang Anda gunakan. Jalankan sudo ss -tlnp | grep 3389 pada server. Tidak adanya output berarti service berhenti atau RDP tidak diaktifkan. Ulangi Step 4 dan baca journalctl -u gnome-remote-desktop.service -n 50. Jika menggunakan tunnel SSH, periksa juga apakah jendela ssh -N masih terbuka.

Klien meminta password dua kali. Ini normal untuk Remote Login. Prompt pertama meminta pasangan RDP yang Anda tetapkan dengan set-credentials. Prompt kedua adalah layar login GDM yang meminta akun Linux Anda. Memasukkan password Linux pada prompt pertama akan gagal karena keduanya terpisah.

Anda mengharapkan sesi yang sedang terbuka, tetapi malah mendapatkan layar login. Anda terhubung ke port 3389, yang digunakan oleh Remote Login. Desktop Sharing menggunakan port lain saat Remote Login aktif. Periksa port yang ditampilkan pada halaman Settings.

Desktop Sharing terputus setelah beberapa saat. Sesi pada server terkunci. Dalam mode bantuan jarak jauh, penguncian layar menutup koneksi jarak jauh. Gunakan Remote Login untuk server yang tidak memiliki monitor.

set-credentials gagal pada 24.04. Versi 46.3 memerlukan kedua argumen. Gunakan bentuk read -rsp dari bagian 24.04.

FAQ

Dapatkah saya menggunakan xrdp dengan GNOME di Ubuntu 26.04?

Tidak. Catatan rilis Ubuntu 26.04 menyatakan bahwa GNOME Shell tidak lagi dapat berjalan sebagai sesi X.org, sedangkan xrdp hanya berfungsi dengan Xorg. Penginstal c-nergy.be menolak menginstal xrdp pada GNOME 49 dan versi yang lebih baru karena alasan ini. Gunakan GNOME Remote Desktop dengan Remote Login, atau gunakan xrdp dengan desktop yang masih memiliki sesi X.org, seperti XFCE.

Apakah remote desktop Ubuntu berfungsi tanpa monitor yang terpasang?

Ya, dalam mode Remote Login. Proyek upstream menyebutnya headless remote login: klien RDP Anda menampilkan layar login GDM dan Anda masuk ke sesi baru, sehingga tidak diperlukan layar lokal atau pengguna yang sudah masuk. Desktop Sharing berbeda. Fitur ini mencerminkan sesi yang sudah berjalan. Jadi, setelah reboot ketika tidak ada pengguna yang masuk, tidak ada sesi yang dapat dibagikan.

Port apa yang digunakan GNOME Remote Desktop di Ubuntu?

Remote Login menggunakan port 3389, yaitu port RDP standar. Port ini juga merupakan nilai default dalam source gnome-remote-desktop. Saat Remote Login aktif, Desktop Sharing berpindah ke port lain, seperti 3390, dan Anda memasukkan port tersebut ke klien. sudo ss -tlnp pada mesin tersebut menampilkan port yang benar-benar sedang digunakan untuk listening.

Apakah aman meneruskan port 3389 pada router saya?

Jangan lakukan itu. Port RDP publik mengundang upaya login, dan satu kata sandi bersama menjadi satu-satunya perlindungan di depan layar login Anda. Teruskan port lokal melalui SSH dengan ssh -N -L 13389:127.0.0.1:3389 you@home-box, atau tempatkan kedua mesin pada Tailscale dan sambungkan ke alamat Tailscale mesin tersebut pada port 3389.

Apakah Remote Login berfungsi di Ubuntu 24.04?

Ya. Headless remote login hadir dalam gnome-remote-desktop 46, dan Ubuntu 24.04 menyediakan versi 46.3. Perbedaan utamanya adalah grdctl --system rdp set-credentials pada versi 46.3 memerlukan nama pengguna dan kata sandi sebagai argumen, sedangkan 26.04 dapat membacanya dari standard input. Sesi remote login persisten baru tersedia pada versi 47. Karena itu, simpan pekerjaan Anda sebelum memutuskan koneksi di 24.04.

Apakah artikel ini bermanfaat?