X11VNC搭建指北 | Blurred code

X11VNC搭建指北

2019/11/30

LastMod:2019/11/30

Categories: Linux

vnc作为开源协议,实现的有很多,包括出名的realVNC,tightVNC以及它的fork tigerVNC,不同的vnc后端也不少,主要分为另起一个x和直接获取当前的x画面两种。

我的需求是从外网穿透学校的防火墙以及路由器NAT,访问位于实验室的笔记本,并且监视一些还没有完成的工作,所以我需要 1.穿透内网 2.获取当前的X画面 穿透内网的部分frp很好配置,而x11vnc配置起来要花点功夫,主要是在systemed中配置起来有点麻烦。

生成密码

x11vnc -storepasswd 生成后的密码默认在家目录,如果有root权限可以拷贝到/etc/下,这样方便systemd读取

x11vnc的systemed配置

主要注意两点:

[Unit]
Description=VNC Server for X11
Requires=display-manager.service

[Service]
ExecStart=/usr/bin/x11vnc -repeat -display :0 -auth /var/run/lightdm/root/:0  -rfbauth /etc/x11vnc.pwd -shared -forever -o /var/log/x11vnc.log
ExecStop=/usr/bin/x11vnc -R stop
Restart=always
RestartSec=2

[Install]
WantedBy=multi-user.target

疑难杂症

参考:How to get rid of the 3 second delay ? · Issue #102 · LibVNC/x11vnc 参考:15927 – x11vnc is very laggy due to commit 8fbff6ce0c097897a1f909dd02f72f4160f23d99

关闭xfce4的垂直同步(会重启xfce4)

xfconf-query -c xfwm4 -p /general/vblank_mode -s off ; pkill xfwm4$

xfce4-screensaverx11vnc有冲突。 可以换其他的锁屏软件。

ps -ef | grep -E 'saver|lock' | more  // 找到xfce4-screensaver的pid, kill掉
sudo apt remove xfce4-screensaver