作者:E4b9a6, 创建:2023-01-11, 字数:1201, 已阅:108, 最后更新:2023-01-11
Linux桌面众多,主流的Gnome/KDE都支持VNC远程协议,VNC全称Virtual Network Computing
,与RDP协议类似都支持实现远程桌面
使用Linux发行版作为日常办公,时常需要远程操作,在Windows上我们可以选择的远程桌面非常丰富,Teamviewer是非常好用的,Linux VNC也能实现类似Teamviewer的效果,即远程物理会话效果
远程桌面的实现通常包含2种,分别是物理会话(单用户)与虚拟会话(多用户),常用的VNC服务配置程序包括TigerVNC
和TurboVNC
和RealVNC
,这三种都比较通用,在大部分的Linux发行版都适用
对于X11桌面而言有着专用的X11VNC
,X11是一种协议,Gnome
与KDE Plasma
均实现了X11协议
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
接下来在Manjaro KDE Plasma
安装VNC Server并启动物理会话
sudo pacman -S x11vnc
x11vnc -display :0
以上会创建一个没有密码的物理会话,通过任意的VNC客户端连接到[ip]:5900
都可以控制这台机器,并在会话结束之后结束运行
要在后台保持运行且考虑到安全问题,我们首先创建密码认证文件
x11vnc -usepw
第一次运行会要求输入密码,然后生成一个密码文件位于$HOME/.vnc/passwd
中,接下来我们使用supervisor
持久化VNC远程服务
[program:x11vnc]
command=/usr/bin/x11vnc -display :0 -autoport 55900 -usepw -xkb -noxrecord -noxfixes -noxdamage -forever
environment=HOME=/home/chancel
autostart=true
autorestart=true
startsecs=10
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stderr_logfile=/var/log/supervisor/%(program_name)s.log
stdout_logfile_maxbytes=10MB
user=chancel
注意,必须设置环境变量HOME
否则supervisor
无法正常运行VNC Server