Melalui perbincangan bersama anak-anak, saya jelaskan bahawa ada ketikanya saya akan melihat aktiviti di komputer riba mereka (menggunakan sistem operasi Debian
) melalui skrin sistem operasi saya (Arch Linux
).
Sebelum ini, saya gunakan DWService
untuk memantau dari web browser saya. Selepas merajinkan diri meneroka pakej-pakej server (pelayan) VNC yang tersedia di dalam repositori rasmi Debian, berhasil jugalah melaksanakannya dengan pakej x11vnc
.
Di sini, saya catatkan cara-caranya bersama maklumat paparan yang kedua-dua peranti gunakan.
Debian
x11vnc
.sudo apt install x11vnc
x11vnc -storepasswd
y
untuk menyimpan apabila ditanya.xorg
[Rujukan #1] seperti berikut:/etc/X11/xorg.conf.d/10-vnc.conf
:
Section "Module"
Load "vnc"
EndSection
Section "Screen"
Identifier "Screen0"
Option "UserPasswdVerifier" "VncAuth"
Option "PasswordFile" "/home/user/.vnc/passwd"
EndSection
x11vnc -display :0 -auth $(find /var/run/sddm/ -type f) -rfbauth ~/.vnc/passwd
Arch Linux
Memandangkan saya sudah terbiasa mengakses VM (Qemu/KVM) menggunakan remote-viewer
sebagai viewer client (dari pakej virt-viewer
), saya gunakan arahan ini sahaja untuk memperoleh paparan desktop jauh
(kekurangan: kurang memuaskan dari segi persembahan kerana pemapar ini umumnya adalah untuk VM).
SSH Tunnel
.ssh -t -L 5900:localhost:5900 user@ip_address 'x11vnc -localhost -display :0 -rfbauth ~/.vnc/passwd'
SSH Tunnel
di atas untuk mengakses desktop jauh di hos server.remote-viewer vnc://localhost:5900
Contoh desktop hos Debian dari Arch Linux (tetingkap sebelah kanan).
x11vnc -display :0 -R stop
ps aux | grep vnc # lihat nombor pid servis
kill <pid_no> # untuk mematikan servis yang terlibat
x11vnc
enable_xhost
) untuk dimulakan secara auto semasa log masuk ke dalam pelayan X.#!/usr/bin/env zsh
# to run `x11vnc` as a normal user
sudo chmod -R 755 /var/run/sddm
# https://unix.stackexchange.com/a/496877
xhost +local: # must be run from the physical host
~/.config/autostart/enable_xhost.desktop
.[Desktop Entry]
Exec=/home/user/.scripts/enable_xhost
Icon=application-x-shellscript
Name=enable_xhost
Type=Application
X-KDE-AutostartScript=true
x11vnc -display :0 -auth $(find /var/run/sddm/ -type f) -rfbauth ~/.vnc/passwd
vncviewer
melalui SSH Tunnel
[Rujukan #2] dengan perintah berikut.vncviewer -via user@ip_address -PreferredEncoding=ZRLE -Shared -passwd ~/.vnc/passwd localhost:0
x0vncserver
export DISPLAY=:0
x0vncserver -rfbauth ~/.vnc/passwd
... Main: Listening for VNC connections on all interface(s), port 5900
...
vncviewer
dengan perintah yang sama sebagaimana telah diringkaskan pada [Rujukan #2] di atas.Remmina
sebagai alternatif:-ssh -t -L 5900:localhost:5900 user@ip_address
localhost:0
vncserver
untuk virtual remote desktopUntuk tidak mengganggu pelayan semasa X yang sedang berlangsung di dalam peranti sebenar, disarankan untuk menjalankan pelayan VNC sebagai pengguna lain.
Tambahkan pengguna yang berkenaan (e.g. raihan);
Log masuk sebagai pengguna tersebut;
Dan tetapkan server SSH seperti biasa agar dapat bersambung tanpa kata laluan.
Sunting fail /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=raihan
config
ke dalam direktori ~/.vnc
dengan perincian berikut.~/.vnc/config
(semak /usr/share/xsessions
untuk entri session).
session=plasmax11
geometry=1920x1080
depth=24
localhost
alwaysshared
vncserver :1
...
vncext: Listening for VNC connections on local interface(s), port 5901
...
vncviewer
melalui SSH Tunnel
dengan arahan berikut.vncviewer -via user@ip_address -PreferredEncoding=ZRLE -Shared -passwd ~/.vnc/passwd localhost:1
Remmina
sebagai alternatif:-ssh -t -L 5901:localhost:5901 user@ip_address
localhost:1