x11vnc是一个VNC服务器,它允许用户远程查看并用任何VNC查看器与真实的X显示器(即与物理监视器,键盘和鼠标相对应的显示器)进行交互。虽然它的原作者Karl Runge不再开发,但LibVNC和GitHub社区已经接管了开发。
x11vnc不会为远程控制的服务器创建额外的虚拟VNC桌面服务(或X桌面)。相反,它实时显示现有的X11显示器,不像其他Linux VNC替代品,如TightVNC服务器,是在远程生成一个虚拟的vnc桌面服务。所以你在远程的任何操作,只要服务器连接上显示器就可以看的清清楚楚。这个vnc服务比较适合远程协助。x11vnc只支持单用户操作,不允许多用户同时使用,这还是因为x11vnc不会为远程控制的服务器创建额外的虚拟VNC桌面服务。

x11vnc和系统的light-locker锁屏程序有冲突,有bug,自动锁屏后,VNC会黑屏,无法进入桌面,这个禁用锁屏,但如果把这个软件卸载,整个桌面环境可能一起跟着卸载。

1. 安装x11vnc

root@debian:~# apt-get install x11vnc

2. 设置密码

laopi@debian:~$ x11vnc -storepasswd
Enter VNC password:                                                        #输入登录vnc的新密码
Verify password:                                                                #重复密码   
Write password to /home/laopi/.vnc/passwd?  [y]/n y       #成生密码文件,y 生成
Password written to: /home/laopi/.vnc/passwd
laopi@debian:~$

3. 让x11vnc在任何环境中通过systemd自动启动

root@debian:~# vi /lib/systemd/system/x11vnc.service
=====================================================================================================================================

[Unit]
Description=Start x11vnc at startup.
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/<USERNAME>/.vnc/passwd -rfbport 5900 -shared -capslock -nomodtweak

[Install]
WantedBy=multi-user.target
=====================================================================================================================================
注意:/home/USERNAME/.vnc/passwd 中的USERNAME需要换成你自己的用户名,之前遇到了用vnc-viewer连接,键盘Caps Lock和小键盘错位的问题,加上选项-capslock -nomodtweak就好了。

4.启动服务
        
root@debian:~# systemctl daemon-reload                 #让系统知道新的单元文件
root@debian:~# systemctl enable x11vnc.service     #让系统开机启动这个服务器
root@debian:~# systemctl start x11vnc.service         #启动这个服务器

5、重启服务器
最后,我们可以通过VNCVIEW工具链接远程桌面,且输入上面设置的密码就可以看到。

6、更多参数说明,请参考http://www.karlrunge.com/x11vnc/x11vnc_opts.html

未解决的问题:

1、用了一段时间会发现鼠标右键很气人,明明只点了一下右键,却是左键后直接回车的效果,换了VNC Viewer也不好用,应该是x11vnc.service哪里设置或软本身问题,有待研究。

2、连接闪退问题,有时候用着用着自己就断了,有待研究。

05-22 20:04