Keperluan remote desktop, banyak yang menggunakan XFCE, selain karena ukurannya yang kecil, juga karena hemat memory. Dengan XFCE, 1 GB memory bisa diakses oleh beberapa orang, dengan catatan tidak semua menggunakan browser ;) Karena penggunaan browser ini memakai memory yang besar, jadi sebaiknya menggunakan memory 4 GB. Dengan menggunakan VNC kita menggunakan server kita sebagai komputer remote, karena kita bisa menginstall semua aplikasi dan mengaksesnya dengan tampilan GUI.

Di Linux ada banyak aplikasi VNC Server yang bisa digunakan, yang menjadi default di Debian 11 adalah TigerVNC. VNC terbagi menjadi 2, VNC Server sebagai aplikasi yang menjalankan proses VNC, dan VNC client yang mengakses VNC tersebut (remote desktop).

Update Debian 11

Hal ini sangat disarankan untuk dijalankan, agar sistem anda mendapat update terbaru. Jalankan perintah ini secara berkala

sudo apt update; sudo apt upgrade -y

bila terdapat update kernel, reboot server anda.

sudo reboot

Install XFCE

Bila anda menggunakan debian tanpa Desktop Environment, ataupun menggunakan DE selain XFCE install paket XFCE terlebih dahulu

sudo apt install xfce4 -y

paket yang di install xfce4 hanya core untuk xfce saja, untuk menginstall tambahan seperti terminal dan berbagai plugin xfce install

sudo apt install xfce4-goodies -y

Install VNC Server

Untuk menginstall TigerVNC di jalankan

sudo apt install tigervnc-standalone-server -y

Set Password User VNC

Jangan jalankan VNC sebagai sebagai root, karena banyak hal-hal yang tidak diinginkan bisa terjadi, banyak bot berkeliaran yang. Buat password VNC sebagai user anda, disini saya menggunakan user jaranguda.

vncpasswd

masukkan password anda, jangan lebih dari 15 karakter karena beberapa VNC Client tidak support lebih dari 15 karakter.
set vnc password debian 10

Service Systemd

Agar mempermudah mejalankan service VNC, kita akan membuat service systemd, jadi bisa dijalankan, diberhentikan dengan systemctl. Buat file /etc/systemd/system/vncserver@1.service, yang isinya

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
 
[Service]
Type=forking
User=jaranguda
ExecStartPre=-/usr/bin/vncserver -kill :%i
ExecStart=/usr/bin/vncserver -localhost no :%i
ExecStop=/usr/bin/vncserver -kill :%i
 
[Install]
WantedBy=multi-user.target

ganti jaranguda menjadi user anda.

Agar TigerVNC dijalankan setelah booting, aktifkan dengan systemctl

systemctl enable vncserver@1.service

Untuk menjalankan TigerVNC, eksekusi

systemctl start vncserver@1.service

Cek status VNC

systemctl status vncserver@:1.service

Lihat Process TigerVNC

Selain dengan menjalankan systemctl status vncserver@1.service bisa dicek dengan ss -tunlp

$ sudo systemctl status vncserver@1.service
● vncserver@1.service - Remote desktop service (VNC)
     Loaded: loaded (/etc/systemd/system/vncserver@1.service; disabled; vendor preset: enabled)
     Active: active (running) since Tue 2021-11-23 13:39:10 WIB; 2min 1s ago
    Process: 3926 ExecStartPre=/usr/bin/vncserver -kill :1 (code=exited, status=1/FAILURE)
    Process: 3929 ExecStart=/usr/bin/vncserver -localhost no :1 (code=exited, status=0/SUCCESS)
   Main PID: 3935 (vncserver)
      Tasks: 31 (limit: 16613)
     Memory: 49.6M
        CPU: 414ms
     CGroup: /system.slice/system-vncserver.slice/vncserver@1.service
             ├─3935 /usr/bin/perl /usr/bin/vncserver -localhost no :1
             ├─3936 /usr/bin/Xtigervnc :1 -rfbport 5901 -localhost=0 -SecurityTypes VncAuth,TLSVnc -PasswordFile /home/jaranguda/.vnc/passwd -ClientWaitTimeMillis 30000 -geometry 1920x1200 -desktop kahowa.`:1 (jaranguda>
             ├─3951 /bin/sh /etc/X11/Xtigervnc-session
             ├─3955 tigervncconfig -iconic
             ├─3956 xfce4-session
             └─4002 /usr/bin/ssh-agent x-session-manager
 
Nov 23 13:39:07 kahowa systemd[1]: Starting Remote desktop service (VNC)...
Nov 23 13:39:07 kahowa vncserver[3926]: vncserver: No matching VNC server running for this user!
Nov 23 13:39:07 kahowa vncserver[3935]: New Xtigervnc server 'kahowa.`:1 (jaranguda)' on port 5901 for display :1.
Nov 23 13:39:07 kahowa vncserver[3935]: Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /home/jaranguda/.vnc/passwd kahowa.`:1 to connect to the VNC server.
Nov 23 13:39:10 kahowa systemd[1]: Started Remote desktop service (VNC).
 
$ ss -tunlp
Netid State  Recv-Q Send-Q Local Address:Port    Peer Address:Port Process                              
udp   UNCONN 0      0            0.0.0.0:5353         0.0.0.0:*                                         
udp   UNCONN 0      0            0.0.0.0:39595        0.0.0.0:*                                         
udp   UNCONN 0      0               [::]:53868           [::]:*                                         
udp   UNCONN 0      0               [::]:5353            [::]:*                                         
tcp   LISTEN 0      128          0.0.0.0:22           0.0.0.0:*                                         
tcp   LISTEN 0      5            0.0.0.0:5901         0.0.0.0:*     users:(("Xtigervnc",pid=3936,fd=9)) 
tcp   LISTEN 0      128             [::]:22              [::]:*                                         
tcp   LISTEN 0      5               [::]:5901            [::]:*     users:(("Xtigervnc",pid=3936,fd=10))

Login ke VNC Server

Akses VNC server dengan vncviewer dari terminal, ataupun VNC client yang lain.

vncviewer IP-SERVER:5901

masukkan password VNC Server
masukkan password vnc server

tampilan vnc pertama login

Mengamankan VNC Server

Cara untuk mengamankan VNC adalah dengan menggunakan SSH Tunnel, jadi VNC hanya bisa dari server tersebut (private IP), bukan dari public IP. Tanpa pengamanan ini pun VNC anda sudah bisa digunakan, tapi sangat direkomendasikan untuk menjalankan settingan ini.
Buka kembali file /etc/systemd/system/vncserver@:1.service, ubah bagian

ExecStart=/usr/bin/vncserver -localhost no :%i

menjadi

ExecStart=/usr/bin/vncserver -localhost yes :%i

lalu restart service systemd

# karena konfigurasi service systemd dirubah, harus di clear cachenya
sudo systemctl daemon-reload
# restart vnc
sudo systemctl restart vncserver@1.service

pastikan VNC sudah listening ke 127.0.0.1 atau [::1]
vnc listening ke ip local

Sekarang untuk login pertama kali harus bind port 5901 dari server ke localhost:5901 bisa juga menggunakan private IP contoh 192.168.88.1:5901, 5901 bisa diganti dengan port lainnya, misalkan 8080 selama port tersebut belum digunakan dan bisa diakses oleh user.

ssh user@SERVER -L 5901:localhost:5901

untuk mengakses remote desktop, jalankan

vncviewer localhost:5901

Leave a comment

Your email address will not be published. Required fields are marked *