VNC adalah singkatan dari Virtual Network Computing. Ini adalah sistem berbagi layar yang memungkinkan Anda mengakses dan mengontrol komputer lain dari jarak jauh melalui jaringan. VNC menggunakan protokol Remote Frame Buffer (RFB) untuk mengirimkan masukan dari keyboard dan mouse serta pembaruan layar dari komputer yang diakses ke komputer yang mengakses
Ketika kita menggunakan VPS berbasis linux, adakalanya kita akan remote tidak seperti biasanya yaitu ssh tapi menggunakan VNC. Server VPS berbasis linux headless, oleh sebab itu untuk install VNC server bisa pakai tigervnc. Sebagai gambaran informasi, saya menggunakan VPS dengan informasi sebagai berikut
Virtualization: kvm
Operating System: Ubuntu 22.04.5 LTS
Kernel: Linux 5.15.0-142-generic
Architecture: x86-64
Hardware Vendor: QEMU
Hardware Model: Standard PC _i440FX + PIIX, 1996_
Langkah-langkah yang perlu diinstall agar VNC server bisa bekerja dengan baik yaitu
sudo apt update && sudo apt install -y \ xfce4 xfce4-goodies \ tigervnc-standalone-server \ dbus-x11 x11-xserver-utils
nanti ketikan
vncpasswd
Masukkan password (maks. 8 karakter). Pilih “No” saat ditanya soal readonly password.
Kemudian edit xstartup nya
nano ~/.vnc/xstartup
isi dengan berikut
#!/bin/sh xrdb $HOME/.Xresources startxfce4 &
Jangan lupa berikan hak eksekusi
chmod +x ~/.vnc/xstartup
Untuk menjalakannya yaitu
vncserver :1 -localhost no
:1
Contents
Ini menunjukkan nomor display virtual yang akan dibuat, biasanya berhubungan langsung dengan port:
-
:1 berarti display virtual nomor 1.
-localhost no = membuka akses langsung dari jaringan (bisa diakses dari komputer lain)
Sedangkan untuk kill nya menggunakan perintah
uuntuk mematikan vncserver -kill :1
Kalau sudah OK, kalau bisa menggunakan real vnc viewer dengan port 5901
Penjelasan mengenai Session
Dua Jenis Session VNC yang Umum
1. Shared Session / Existing Session
-
Menampilkan apa yang sedang terjadi di layar fisik.
-
VNC seperti
x11vnc
digunakan untuk ini. -
Biasa digunakan untuk remote support atau mirroring layar aktif.
Contoh:
Kamu sedang pakai GNOME Desktop di server, lalu orang lain login via VNC dan melihat layar kamu — seolah pakai satu komputer yang sama.
2. Virtual Session (Headless Session)
-
Membuat desktop environment baru di background, tidak terlihat di monitor fisik.
-
VNC seperti
TigerVNC
atauTightVNC
digunakan untuk ini. -
Bisa jalankan banyak session secara paralel.
Contoh:
vncserver :1
→ Membuat desktop XFCE di virtual display:1
, bisa diakses lewat port 5901, tidak memengaruhi user lain.
Ciri-ciri Session VNC:
Komponen | Penjelasan |
---|---|
:1 , :2 , dst. |
ID session / display number → digunakan untuk koneksi VNC |
Port | 5900 + display number (:1 = port 5901) |
Environment | Bisa GNOME, KDE, XFCE, LXDE, dsb — tergantung konfigurasi |
Isolasi | Setiap session independen, bisa login sebagai user berbeda |
Run Otomatis menggunakan Service
agar bisa buat service, simpan dengan nama /etc/systemd/system/vncserver@.service. isi Dengan berikut
[Unit] Description=Start TigerVNC server at startup After=network.target [Service] Type=forking User=root PAMName=login PIDFile=/root/.vnc/%H:%i.pid ExecStart=/usr/bin/vncserver :%i -localhost no ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target
lanjut aktifkan
sudo systemctl daemon-reexec sudo systemctl enable vncserver@1.service sudo systemctl start vncserver@1
Sedangkan untuk VNC yang menggunakan Shared Session, kalian bisa menggunakan X11VNC. yang perlu dilakukan yaitu install dan update dulu
sudo apt update sudo apt install x11vnc
kemudian jangan lupa store password
x11vnc -storepasswd
Untuk run, dan setting port, bisa menggunakan perintah
x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat -rfbauth ~/.vnc/passwd -rfbport 5900 -shared
Keterangannya sebagai berikut
- -display :0 = gunakan display X utama.
- -auth guess = coba tebak file otorisasi (.Xauthority).
- -forever = tetap berjalan meski client disconnect.
- -loop = restart jika crash.
- -rfbauth = gunakan password file.
- -rfbport 5900 = listen di port 5900 (default VNC).
- -shared = izinkan multiple viewer terhubung.
bila dijadikan service
sudo nano /etc/systemd/system/x11vnc.service
isi dengan berikut ini
[Unit] Description=Start x11vnc at startup After=multi-user.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/YOUR_USERNAME/.vnc/passwd -rfbport 5900 -shared User=YOUR_USERNAME Group=YOUR_USERNAME [Install] WantedBy=multi-user.target
Kesimpulan
Kalau kamu ingin remote desktop dari Ubuntu Server (tanpa GUI), sebaiknya pakai:
- x11vnc untuk mirroring session desktop
- tigervnc untuk membuat session baru (headless)
- Atau install remote desktop berbasis web seperti Guacamole atau xrdp