使用 x11vnc 来搭建 VNC 服务
接下来开始搭建 x11vnc 服务,实验环境为 Debian GNU/Linux 10 (buster) 发行版;
第一步、安装软件
apt-get install x11vnc
第二步、运行服务 How to VNC into an existing X session
x11vnc -display $DISPLAY -usepw -listen <IP_of_interface> -autoport 5903 # -display : 要显示的屏幕。这里使用「$DISPLAY」获取当前显示器,通常为「:0」; # -usepw : 使用用户密码进行认证。服务启动后会提示你输入密码; # -listen : 要监听的 IP 地址; # -autoport: 指定要监听的端口号。如果未指定,则会自动创建监听端口号,并在控制台输出监听的端口号;
如果要使用 xinetd 运行,可以参考 How to VNC to the primary display in ubuntu (display :0) 一文;
第三步、远程访问
使用 VNC 客户端进行连接即可,这里不再详细介绍;
附加说明
如果以 root 身份运行它以连接到 xdm 会话,则需要对 Xauth 进行一些研究,因为设置它可能有点繁琐;
常见问题汇总
Unable to connect to VNC Server using your chosen security setting
VNC Connect Error Messages – RealVNC Help Center
问题描述:在使用 REALVNC 连接 x0vncserver 服务时,REALVNC 客户端提示如下信息:
Unable to connect to VNC Server using your chosen security setting. Either upgrade VNC Server to a more recent version from RealVNC, or select a weaker level of encryption
问题原因:客户端不支持服务端设置的 SecurityTypes 类型
解决方法:设置双方都支持的安全类型,或者修改 x0vncserver 的 -SecurityTypes=None 以关闭
参考文献
Start vncserver on :0 instead of :1
How to VNC into an existing X session?
x11vnc: a VNC server for real X displays
tightvncserver – show the same screen on hdmi and vncclient
TigerVNC – ArchWiki