Untuk Desktop Environment kita akan menggunakan XFCE, yang terkenal dengan hemat penggunaan memory. Dengan memory 1 GB, penggunaan untuk browsing beberapa website terasa cepat. Tetapi menjalankan 4K di Youtube akan terasa sangat lambat.
Di Linux ada banyak aplikasi VNC Server yang bisa digunakan, yang menjadi default di Debian 10 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 10
sudo apt update; sudo apt upgrade -y
Install XFCE
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
sudo apt install vnc4server -y
Set Password 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.
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 PIDFile=/home/jaranguda/.vnc/%H%i.pid ExecStartPre=-/usr/bin/vncserver -kill %i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -localhost no %i ExecStop=/usr/bin/vncserver -kill %i [Install] WantedBy=multi-user.target
ganti jaranguda
menjadi user anda.
Aktifkan VNC sewaktu booting
systemctl enable vncserver@:1.service
Jalankan VNC
systemctl start vncserver@:1.service
Cek status VNC
systemctl status vncserver@:1.service
Lihat Process VNC
Selain dengan menjalankan systemctl status vncserver@:1.service
bisa dicek dengan ss -tunlp
Login ke VNC Server
Akses VNC server dengan vncviewer dari terminal, ataupun VNC client yang lain.
vncviewer IP-SERVER:5901
masukkan password VNC Server
Mengamankan VNC
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]
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