Install VNC Server di CentOS 8




VNC adalah software yang digunakan untuk meremote desktop pada komputer kita secara jarak jauh menggunakan koneksi jaringan LAN maupun Internet


Jika belum ada GUI nya bisa di install GUI dengan perintah berikut 

# dnf groupinstall "workstation"
Or
# dnf groupinstall "Server with GUI"

Setelah install di atas selesai kemudian jalankan perintah di bawah ini untuk mengaktifkan mode Grafik

# systemctl set-default graphical

Sekarang reboot untuk memulai dengan GUI.

[root@linuxtechi ~]# reboot

setelah reboot hapus komen perintah  “WaylandEnable=false” dari file “/etc/gdm/custom.conf” jadi sesi permintaan remote desktop via VNC akan di handle oleh xorg dari desktop GNOME sebagai pengganti manajer tampilan wayland.

Once the system is rebooted successfully uncomment the line “WaylandEnable=false” from the file “/etc/gdm/custom.conf” so that remote desktop session request via vnc is handled by xorg of GNOME desktop in place of wayland display manager.

Catatan: Wayland adalah manajer tampilan default (GDM) di GNOME dan tidak dikonfigurasi untuk menangani API rendering jarak jauh seperti X.org


Server VNC tidak akan berfungsi dengan baik jika SElinux diaktifkan pada sistem Anda, seperti yang sekarang dilakukan adalah menonaktifkannya menggunakan perintah berikut,

# setenforce 0
# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

Sekarang instal Server TigerVNC menggunakan perintah berikut:

# dnf install tigervnc-server tigervnc-server-module -y

Sekarang setelah VNC server diinstal, langkah selanjutnya adalah menjalankan perintah vncserver yang akan membuat konfigurasi awal dan mengatur kata sandi. Jangan gunakan sudo saat menjalankan perintah berikut:

vncserver

Anda akan diminta untuk memasukkan dan mengonfirmasi kata sandi dan apakah akan menetapkannya sebagai kata sandi view-only?. Jika Anda memilih untuk mengatur kata sandi view-only, user tidak akan dapat berinteraksi dengan instance VNC dengan mouse dan keyboard.

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
/usr/bin/xauth:  file /home/amek/.Xauthority does not exist

New 'server2.amek.net:1 (amek)' desktop at :1 on machine server2.amek.net

Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/amek/.vnc/server2.amek.net:1.log

Pertama kali perintah vncserver dijalankan, vncserver akan membuat dan menyimpan file kata sandi di direktori ~/.vnc yang akan dibuat jika tidak ada.

Perhatikan :1 setelah hostname  di output di atas. Ini menunjukkan display port tampilan tempat VNC server berjalan. Dalam kasus kami, server berjalan pada port TCP 5901 (5900+1). Jika Anda membuat instance kedua, maka akan berjalan pada port yang tidak terpakai berikutnya, misalnya  :2, yang berarti server berjalan pada port 5902 (5900+2).

Yang penting untuk diingat adalah bahwa ketika bekerja dengan VNC server, :X adalah display port yang merujuk ke 5900+X.

Sebelum melanjutkan dengan langkah berikutnya, pertama hentikan instance VNC menggunakan perintah vncserver dengan opsi -kill dan nomor server sebagai argumen. Dalam kasus kami, server berjalan di port 5901 (:1), jadi untuk menghentikannya, jalankan:

vncserver -kill :1
Killing Xvnc process ID 19681

Konfigurasi Server VNC

Sekarang baik Gnome dan TigerVNC telah diinstal pada mesin CentOS jarak jauh, langkah selanjutnya adalah mengkonfigurasi TigerVNC untuk menggunakan Gnome. Server VNC menggunakan file ~/.vnc/xstartup untuk menjalankan aplikasi saat membuat desktop baru. Buka file:

vim ~/.vnc/xstartup

Dan edit sebagai berikut:

#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

Simpan dan tutup file. Script di atas dijalankan secara otomatis setiap kali Anda memulai atau restart server TigerVNC.

Jika Anda ingin memberikan opsi tambahan ke VNC server, buka file ~/.vnc /config dan tambahkan satu opsi per baris. Opsi yang paling umum tercantum dalam file. Batalkan komentar dan ubah sesuai keinginan Anda.

Berikut ini sebuah contoh:

# securitytypes=vncauth,tlsvnc
# desktop=sandbox
geometry=1920x1080
# localhost
# alwaysshared

Buat unit file Systemd

File unit memungkinkan Anda untuk memulai, menghentikan, dan memulai kembali layanan dengan mudah. Secara umum, lokasi terbaik untuk menyimpan unit file user adalah ~/.config/systemd/user. Pertama Buat direktori:

mkdir -p ~/.config/systemd/user

Salin file unit vncserver default:

cp /usr/lib/systemd/user/vncserver@.service ~/.config/systemd/user/

Beri tahu systemd bahwa ada unit file user baru:

systemctl --user daemon-reload

Mulai VNC service dan aktifkan saat boot:

systemctl --user enable vncserver@:1.service --now

Angka 1 setelah @: menentukan display port tempat VNC service akan listen. Kami menggunakan 1, yang berarti bahwa VNC server akan listen pada port 5901 seperti yang kita bahas di bagian sebelumnya.

Aktifkan lingering agar layanan pengguna mulai saat boot dan terus berjalan ketika pengguna tidak masuk:

loginctl enable-linger

Pastikan layanan berhasil dimulai dengan:

systemctl --user status vncserver@:1.service
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/home/amek/.config/systemd/user/vncserver@.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-01-30 22:14:08 UTC; 2s ago
  Process: 20813 ExecStart=/usr/bin/vncserver :1 (code=exited, status=0/SUCCESS)
  Process: 20807 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
   CGroup: /user.slice/user-1000.slice/user@1000.service/vncserver.slice/vncserver@:1.service
  ...

Keluaran perintah di atas menegaskan bahwa VNC berhasil dimulai di port tcp port 5901. Gunakan perintah berikut izinkan port Server VNC "5901" di  firewall,

# firewall-cmd --permanent --add-port=5901/tcp success 

# firewall-cmd --reload success


EmoticonEmoticon