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、连接闪退问题,有时候用着用着自己就断了,有待研究。