「x11vnc」-

使用 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