Instal dan Konfigurasi Server VNC di CentOS 8

Panduan ini akan membawa Anda melalui cara menginstal dan mengkonfigurasi Server VNC di CentOS 8. VNC adalah singkatan dari Virtual Network Computing. Itu memudahkan untuk berbagi desktop grafis sistem untuk kendali jarak jauh sistem.

Instal dan Konfigurasi Server VNC di CentOS 8

Dalam panduan ini, kami menggunakan TigerVNC untuk mengatur Server VNC di CentOS 8. TigerVNC bekerja dalam arsitektur client-server dengan vncserverutilitas yang menyediakan akses ke desktop jarak jauh dan vncviewermenjadi client yang digunakan untuk terhubung ke server VNC.

Instal Server VNC di CentOS 8

Server VNC disediakan oleh tigervnc-serverpaket yang tersedia di repo AppStream CentOS 8 default. Oleh karena itu, perbarui sistem Anda dan instal server VNC dengan menjalankan perintah di bawah ini;

sudo dnf update
sudo dnf install tigervnc-server

Konfigurasi Server VNC di CentOS 8

Buat Akun Pengguna Koneksi VNC

Setelah penginstalan selesai, lanjutkan untuk mengkonfigurasi server VNC untuk menentukan user yang diizinkan mengakses desktop jarak jauh.

NOTE: Pengguna harus sudah ada di sistem.

Namun Anda dapat membuat akun user untuk login VNC.

useradd johndoe
passwd johndoe

Nonaktifkan Wayland dan aktifkan server tampilan Xorg di CentOS 8

Secara default, CentOS 8 menggunakan Wayland s the default X server. Agar login VNC berfungsi, Anda perlu memaksa layar login untuk menggunakanXorgserver dengan menghapus komentar pada baris #WaylandEnable=false, pada /etc/gdm/custom.conffile konfigurasi.

sed -i 's/#WaylandEnable/WaylandEnable/' /etc/gdm/custom.conf

Reboot Sistem

Reboot sistem CentOS 8 Anda untuk menerapkan perubahan.

Once the system boots, login as the user with which you will be using for remote VNC desktop logins, dalam hal ini, johndoe.

Buat file Unit Layanan Sistem VNC

Selanjutnya, buat file unit sistem VNC per user di bawah direktori home dari setiap user yang ingin Anda izinkan untuk terhubung ke desktop jarak jauh Anda melalui server VNC.

Misalnya, jika Anda ingin mengkonfigurasi server VNC untuk menyediakan tampilan bagi user, johndoe, buat file konfigurasi systemd VNC untuk user ini di bawah /home/johndoe/.config/systemd/user.

Sebagai user yang bersangkutan dan buat direktori unit service di atas;

[[email protected] ~]$ whoami
johndoe
mkdir -p ~/.config/systemd/user

Buat service vnc user sebagai berikut.

cat > ~/.config/systemd/user/[email protected] << 'EOL' [Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver %i -geometry 1912x988 ExecStop=/usr/bin/vncserver -kill %i Restart=on-success RestartSec=15 [Install] WantedBy=default.target EOL 

Anda juga dapat membatasi koneksi ke server VNC hanya melalui interface localhost (Loopback) dengan menambahkan kata kunci, -localhostke ExecStartbaris.

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

Kemudian ketika dijalankan, itu hanya membuka koneksi di localhost.

Anda juga dapat menyalin   file ke direktori service systemd user yang dibuat di atas./usr/lib/systemd/system/[email protected]

cp /usr/lib/systemd/user/[email protected] ~/.config/systemd/user

Dan ubahlah agar sesuai dengan pengaturan Anda. Misalnya, Anda dapat menyesuaikanthe screen size geometry.

Reload konfigurasi systemd untuk mempengaruhi perubahan yang dibuat di atas.

systemctl --user daemon-reload

NOTE: Jika Anda mendapatkan error, Failed to connect to bus: No such file or directory, maka Anda perlu mengatur XDG_RUNTIME_DIRvariabel lingkungan dengan benar (Hal ini biasanya dilakukan secara otomatis ketika Anda login melalui GUI). Menyetel variabel lingkungan ini secara manual, export XDG_RUNTIME_DIR=/run/user/$(id -u), tidak memperbaikinya.

Untuk memperbaikinya, Anda MUST LOG OUT sistem Anda dan LOGINsebagai user yang akan Anda gunakan untuk login VNC jarak jauh, dalam hal ini johndoe.

Setelah Anda login, Anda dapat mengkonfirmasi variabel lingkungan Anda, menggunakan systemctl –user show-environmentperintah.

[[email protected] ~]$ systemctl --user show-environment
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1001/bus DESKTOP_SESSION=gnome DISPLAY=:0 GDMSESSION=gnome GDM_LANG=en_US.UTF-8... XDG_MENU_PREFIX=gnome- XDG_RUNTIME_DIR=/run/user/1001...

Buat Kata Sandi Koneksi VNC

Selanjutnya, buat password VNC untuk user yang tampilan VNC-nya telah dikonfigurasi. Kata sandi dapat diatur menggunakanvncpasswd memerintah.

vncpasswd

When prompted to set the read-only password, you can choose to not to set it

Kata sandi VNC disimpan di bawah $HOME/.vnc/passwd.

Setelah Anda mengatur password, keluar dengan menekan Ctrl+datau cukup ketik exit.

Menjalankan Server VNC

Server VNC dapat dijalankan sebagai service systemd normal. Namun, untuk menjalankannya, Anda perlu menetapkan nomor tampilan ke service. Systemd akan secara otomatis mengganti %idengan nomor tampilan yang ditentukan.

Mulai dan aktifkan server VNC pada nomor tampilan tertentu, dengan menjalankan perintah di bawah ini.

NOTE yang menjalankan perintah ini sebagai user login VNC jarak jauh, johndoe dalam hal ini dan memulai server VNC pada nomor tampilan N.

Pastikan nomor tampilan yang Anda gunakan tidak sedang digunakan;

echo $DISPLAY

Mulai VNC pada nomor tampilan yang tidak digunakan saat ini.

systemctl --user enable [email protected]:2 --now

Untuk memastikan service berjalan terus-menerus, bahkan ketika user keluar, aktifkan berlama-lama;

loginctl enable-linger

Untuk memeriksa statusnya;

systemctl status --user [email protected]:2
● [email protected]:2.service - Remote desktop service (VNC) Loaded: loaded (/home/johndoe/.config/systemd/user/[email protected]; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-06-25 15:52:49 EDT; 13s ago Process: 10858 ExecStart=/usr/bin/vncserver :2 -geometry 1912x988 (code=exited, status=0/SUCCESS) Process: 10852 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :2 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS) CGroup: /user.slice/user-1001.slice/[email protected]/vncserver.slice/[email protected]:2.service ├─10866 /usr/bin/Xvnc :2 -auth /run/user/1001/gdm/Xauthority -desktop centos8.kifarunix-demo.com:2 (johndoe) -fp catalogue:/etc/X11/fontpath.d -geometry 1912x988 -pn -rfbauth /home/johndoe/.vnc/passw> ├─10871 /bin/sh /home/johndoe/.vnc/xstartup ├─10878 /usr/libexec/gnome-session-binary ├─10887 dbus-launch --sh-syntax --exit-with-session ├─10888 /usr/bin/dbus-daemon --syslog --fork --print-pid 6 --print-address 8 --session ├─10930 /usr/libexec/at-spi-bus-launcher ├─10935 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3 ├─10939 /usr/libexec/at-spi2-registryd --use-gnome-session ├─10966 /usr/bin/gnome-shell ├─10976 /usr/libexec/gvfsd ├─11016 ibus-daemon --xim --panel disable ├─11018 /usr/libexec/xdg-permission-store ├─11025 /usr/libexec/ibus-dconf ├─11026 /usr/libexec/ibus-extension-gtk3 ├─11030 /usr/libexec/ibus-x11 --kill-daemon 

Anda juga dapat menghentikan sesi server VNC dengan menjalankan;

systemctl --user stop [email&n
bsp;protected]:2

Izinkan Akses Server VNC di FirewallD

Server VNC mendengarkan pada port TCP 590N. Dimana N adalah nomor tampilan VNC. Port ini bertambah berdasarkan nomor tampilan VNC. Misalnya, untuk tampilan nomor 2, VCN mendengarkan pada port 5902.

ss -alt | grep 590
LISTEN 0 5 0.0.0.0:5902 0.0.0.0:* LISTEN 0 5 [::]:5902 [::]:*

Jika firewalld berjalan, Anda perlu membuka setiap port tampilan VNC. Misalnya untuk membuka port 5902 untuk tampilan 2 di zona firewall aktif Anda, jalankan;

firewall-cmd --get-active-zones

Ganti ACTIVE_ZONEsesuai dengan perintah di bawah ini;

sudo firewall-cmd --add-port=5902/tcp --zone=ACTIVE_ZONE --permanent
sudo firewall-cmd --reload

Uji Koneksi Server VNC

Jadi bagaimana Anda terhubung ke desktop CentOS 8 Anda melalui server VNC? vncvieweradalah client VNC yang umum digunakan untuk koneksi ke desktop jarak jauh melalui server VNC.

Instal paket TigerVNC pada CentOS 8, yang menyediakan vncviewerutilitas.

dnf install tigervnc

Setelah instalasi selesai, Anda dapat menguji koneksi server VNC ke sistem CentOS 8 Anda dari host lain;

vncviewer centos8.kifarunix-demo.com:5902

Di mana centos8.kifarunix-demo.comadalah nama host yang dapat diselesaikan untuk desktop CentOS 8 saya dengan server VNC berjalan. Itu bisa berupa alamat IP.

Jika semuanya baik-baik saja, Anda akan diminta untuk memasukkan password otentikasi VNC.

Connected to RFB server, using protocol version 3.8 Performing standard VNC authentication Password: PASSWORD_SET_WITH_vncpasswd

Setelah otentikasi berhasil, Anda sekarang harus mendarat di lingkungan desktop CentOS 8.

Anda telah berhasil terhubung ke desktop CentOS 8 jarak jauh Anda melalui server VNC dan itu menandai akhir dari panduan kami tentang cara menginstal dan mengkonfigurasi Server VNC di CentOS 8.

Anda dapat menggunakan cara yang lebih aman untuk masuk ke desktop jarak jauh melalui VNC menggunakan SSH dengan mengikuti tautan di bawah ini.

Terhubung ke Server VNC melalui SSH Tunnel

Panduan CentOS 8 lainnya

Instal MariaDB 10.4 di CentOS 8

Instal Webmin di CentOS 8

Instal MySQL 8 di CentOS 8

Instal PHP 7.4 di CentOS 8