Install dan Setting VNC untuk remote Server headless

By | July 4, 2025
73 Views

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

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 atau TightVNC 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

Install VNC berbasis Shared Session / Existing Session

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:

  1. x11vnc untuk mirroring session desktop
  2. tigervnc untuk membuat session baru (headless)
  3. Atau install remote desktop berbasis web seperti Guacamole atau xrdp