Belajar Remote Desktop - TigerVNC: Virtual Display & Multi-Session
Episode 5 of 23

Belajar Remote Desktop - TigerVNC: Virtual Display & Multi-Session

Episode ini mempraktikkan TigerVNC: membuat virtual display tanpa monitor fisik dengan vncserver dan Xvnc, mengatur geometry dan depth, memahami x0vncserver untuk share display fisik, serta menyiapkan vncpasswd dan file ~/.vnc/xstartup untuk desktop environment.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

x11vnc di episode 4 men-share display yang sedang berjalan. Tapi ada satu skenario yang tidak bisa diselesaikan x11vnc: server headless — mesin tanpa monitor fisik yang tetap harus punya desktop untuk diakses. Jawabannya adalah TigerVNC Xvnc, yang membuat virtual display murni di dalam memori, tanpa perlu layar, GPU, atau session login fisik.

Episode 5 memandu kalian menguasai TigerVNC: membuat virtual display :1, :2 dengan vncserver, mengatur resolusi dan kedalaman warna, memahami x0vncserver untuk share display fisik, serta menyiapkan vncpasswd dan file ~/.vnc/xstartup agar session VNC menjalankan desktop environment yang diinginkan.

Xvnc dan Virtual Display

Apa itu Xvnc

Xvnc adalah server X11 dan VNC sekaligus. Dia menjalankan sebuah display — lengkap dengan window manager dan aplikasi — tetapi display itu tidak pernah muncul di monitor fisik. Semua gambarnya dikirim langsung ke viewer VNC yang terhubung.

Karena display-nya virtual, kalian bisa menjalankan banyak session sekaligus: display :1, :2, :3, masing-masing dengan pengguna dan resolusi sendiri. Ini membuka kemungkinan multi-session yang tidak dimiliki x11vnc.

vncserver: Membuat Virtual Display

Cara paling mudah memakai Xvnc adalah melalui skrip pembungkus vncserver:

Membuat virtual display :1
vncpasswd
vncserver :1 -geometry 1920x1080 -depth 24

Perintah vncserver :1 -geometry 1920x1080 -depth 24 membuat display virtual :1 dengan resolusi 1920x1080 dan kedalaman warna 24 bit. Viewers terhubung ke port 5901. Sebelumnya vncpasswd membuat file password yang akan dipakai server.

Daftar dan Matikan Session

Untuk melihat session yang berjalan dan menghentikannya:

List dan kill session VNC
vncserver -list
vncserver -kill :1

vncserver -list menampilkan daftar display aktif lengkap dengan PID-nya. vncserver -kill :1 menghentikan session :1 dengan rapi — jauh lebih baik daripada membunuh proses mentah-mentah.

x0vncserver: Share Display Fisik

Alternatif x11vnc dari TigerVNC

Jika kalian memakai keluarga RHEL dan tidak ingin menginstall x11vnc, TigerVNC menyediakan x0vncserver untuk tugas yang sama: men-share display X11 yang sedang berjalan. Bedanya, x0vncserver tidak membuat display baru — dia membaca display yang ada:

Share display fisik via x0vncserver
x0vncserver -display :0 -passwordfile ~/.vnc/passwd

Perintah x0vncserver -display :0 -passwordfile ~/.vnc/passwd men-share display :0 yang sedang berjalan dan memakai file password dari vncpasswd. Output-nya akan memberi tahu port yang dipakai, biasanya 5900.

Konfigurasi ~/.vnc/xstartup

Memilih Desktop Environment

Saat vncserver membuat display baru, dia menjalankan script ~/.vnc/xstartup untuk meluncurkan desktop environment. Tanpa file ini, kalian hanya melihat layar abu-abu. Isi sesuai DE yang kalian install:

xstartup untuk Xfce
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4

Untuk KDE atau GNOME, bagian terakhir diganti exec startplasma-x11 atau exec gnome-session. Jangan lupa memberikan permission executable:

Beri izin eksekusi xstartup
chmod +x ~/.vnc/xstartup

Jika xstartup tidak executable, vncserver akan melempar error dan session berakhir dengan layar kosong. Ini salah satu penyebab "layar abu-abu" yang paling sering di tanya di forum.

Warning

Pastikan desktop environment yang dipanggil di xstartup benar-benar terinstall. Memanggil startplasma-x11 di mesin tanpa KDE akan membuat session VNC mati seketika setelah dibuat.

Multi-Session dengan Pengguna Berbeda

Karena setiap user punya ~/.vnc/xstartup sendiri, kalian bisa menjalankan display terpisah untuk user berbeda. User arman menjalankan :1, user budi menjalankan :2, masing-masing dengan password dan DE sendiri. Ini pola umum untuk server yang melayani beberapa orang.

Session VNC untuk dua user
sudo -u arman vncserver :1 -geometry 1920x1080
sudo -u budi vncserver :2 -geometry 1366x768

Verifikasi dan Troubleshooting Awal

Memeriksa Port dan Proses

Setelah membuat display, verifikasi bahwa server mendengarkan dengan benar:

Cek port session VNC
ss -tulpn | grep 590
vncserver -list

ss -tulpn | grep 590 menampilkan semua port 59xx yang aktif — 5901 untuk :1, 5902 untuk :2, dan seterusnya. Jika ada port yang tidak muncul, kemungkinan besar session gagal karena xstartup atau password.

Log Session VNC

TigerVNC menulis log ke ~/.vnc/:

Baca log session
tail -20 ~/.vnc/host:1.log

Perintah tail -20 ~/.vnc/host:1.log menampilkan akhir log session :1. Error "unable to connect" atau "Authentication failed" hampir selalu terlihat di sini sebelum kalian menebak-nebak penyebabnya.

Penutup

Episode 5 mengajarkan cara kerja TigerVNC: membuat virtual display tanpa monitor dengan vncserver -geometry 1920x1080 -depth 24, menjalankan multi-session untuk user berbeda, memakai x0vncserver untuk share display fisik, serta mengonfigurasi vncpasswd dan ~/.vnc/xstartup untuk meluncurkan desktop environment.

Inti yang harus dibawa pulang:

  • Xvnc membuat display virtual; x0vncserver men-share display fisik.
  • vncserver :1 membuat display :1 yang bisa diakses di port 5901.
  • -geometry dan -depth mengatur resolusi dan kedalaman warna.
  • ~/.vnc/xstartup menentukan desktop environment; harus executable.
  • vncserver -list dan vncserver -kill :N untuk mengelola session.

Di episode 6 selanjutnya kita melihat dari sisi seberang: VNC client dan koneksi pertama — mengenal TigerVNC Viewer, Remmina, Vinagre, dan RealVNC, memahami format host:display versus host:port, serta diagnosis saat koneksi gagal. Siapkan mesin client kalian!

Belajar Remote Desktop - TigerVNC: Virtual Display & Multi-Session | Belajar Remote Desktop