Konfigurasi Pelayan TigerVNC (Dalaman) untuk Desktop Jauh
Hos & Klien: Arch Linux
vncviewer.
Ditulis semula.
Melalui perbincangan bersama anak-anak, saya jelaskan bahawa ada ketikanya saya akan melihat aktiviti di komputer riba mereka (menggunakan distro Arch Linux) melalui skrin sistem operasi saya (juga distro Arch Linux).
Hal ini juga sesungguhnya menyenangkan apabila saya perlu mengambil alih laptop mereka sebagai “admin” setiap kali diadukan sebarang masalah berkait sistem.
Sebelum ini, saya gunakan DWService untuk memantau dari web browser saya. Selepas merajinkan diri meneroka pakej-pakej server (pelayan) VNC, berhasil jugalah mendapatkannya dengan pakej-pakej binari yang tersedia dalam TigerVNC.
Di sini, saya catatkan cara-caranya bersama maklumat paparan yang kedua-dua peranti gunakan.
- Desktop Environment (DE) di dalam hos:
XFCE4&LightDM(Display Manager) - Pengurus tetingkap (Window Manager) di dalam klien:
i3-gaps
x0vncserver untuk kawalan langsung paparan jauh
Di dalam hos
Pasang pakej
tigervnc.bashsudo pacman -S tigervncTetapkan kata laluan yang disimpan secara lalai di
~/.config/tigervnc/passwd.bashvncpasswdCara yang mudah untuk mengautomasi
x0vncserveradalah dengan menambah baris di bawah ke dalam file~/.xprofile. Server ini akan dimulakan secara auto setiap kali pengguna log masuk ke dalam pelayan X. Port5900akan digunakan secara lalai jika tiada sebarang proses lain yang menggunakannya terlebih dahulu.~/.xprofilex0vncserver -localhost -rfbauth ~/.config/tigervnc/passwd -SecurityTypes none &
Di dalam klien
Untuk akses, buka klien
vncviewermelaluiSSH Tunneldengan perintah berikut.bashvncviewer -via user@ip_address -PreferredEncoding=ZRLE -Shared -passwd ~/.config/tigervnc/passwd localhost:0Port selainnya ( ≥ 5901 ) boleh digunakan dengan opsyen-rfbportpada arahanx0vncserver. Paparan localhost melaluivncviewerjuga mesti dikemaskini kepada nombor jujukan yang digunakan i.e. seandainya menggunakan port5902, maka paparan di dalam klien adalahlocalhost:2.Kaedah Lain
Aktifkan server sebenarXterus dari klien melaluiSSH Tunnel:- Untuk
x0vncserver:bashssh -t -L 5900:localhost:5900 user@ip_address "export DISPLAY=:0; x0vncserver -localhost -rfbauth ~/.config/tigervnc/passwd -SecurityTypes none" - Jika menggunakan
x11vncuntuk kemudahan berkongiclipboardantara hos dan klien (in my case, it works both ways on Remmina, but with TigerVNC'svncviewer, the clipboard only works from the host to the client, not the other way around.):bashssh -t -L 5902:localhost:5902 user@ip_address "x11vnc -display :0 -localhost -rfbauth ~/.config/tigervnc/passwd -rfbport 5902"
- Untuk
vncserver untuk virtual remote desktop
Di dalam hos
Bagi tujuan kerja-kerja lain di komputer atau sistem hos misalnya yang melibatkan pentadbiran serta memerlukan GUI, disarankan untuk menjalankan pelayan VNC sebagai pengguna lain agar tidak mengganggu pelayan semasa X yang sedang berlangsung di dalam peranti sebenar.
Tambahkan pengguna yang berkenaan (e.g. ibu);
Log masuk sebagai pengguna tersebut;
Dan tetapkan server SSH seperti biasa agar dapat bersambung tanpa kata laluan.
Sunting fail berikut.
/etc/tigervnc/vncserver.users# TigerVNC User assignment # # This file assigns users to specific VNC display numbers. # The syntax is <display>=<username>. E.g.: # # :2=andrew # :3=lisa :1=ibuTambah fail
configke dalam direktori~/.config/tigervncdengan perincian berikut. (Semak/usr/share/xsessionsuntuk entri session.)~/.config/tigervnc/configsession=xfce geometry=1920x1080 depth=24 localhost alwayssharedMulakan servis
systemduntuk pengaktifan server.bashsudo systemctl start vncserver@:1ATAU mulakannya dengan arahan berikut:
bashvncserver :1... vncext: Listening for VNC connections on local interface(s), port 5901 ...
Di dalam klien
Laksanakan
vncviewermelaluiSSH Tunneldengan arahan berikut.bashvncviewer -via user@ip_address -PreferredEncoding=ZRLE -Shared -passwd ~/.config/tigervnc/passwd localhost:1Selain itu,
Remminajuga tersedia di dalam repositori rasmiArch Linux.✧ Pemasangan:
bashsudo pacman -S remmina libvncserver✧ SSH Tunnel dari terminal:
bashssh -N -L 5901:localhost:5901 user@ip_address &(
-Nis for port-forwarding only, and&at the end is used to run the command in the background.)✧ Di
Remmina: (abaikan percampuran bahasa antara BM dan English itu. 😁)

