我对 Linux 还很陌生,我遇到了这个问题,但无法找到解决方案。
问题:
当我一打开服务器就连接到运行 x11vnc 的服务器时,一切都很顺利,直到我停止做任何事情,比如鼠标移动等几分钟。当发生这种情况时,我重新开始做事,VNC 仍然连接,但它不再接收任何屏幕更新,但服务器仍在发送和接收键盘或鼠标输入!如果我断开连接并尝试重新连接,它会卡在无限连接循环中!
现在,即使我在连接到服务器(x11vnc)之前没有做任何事情,也会发生同样的问题。
基本上,问题是,一旦我的服务器闲置几分钟,x11vnc 就会停止将屏幕发送到连接的 VNC 客户端并接受传入连接。
让它重新工作的方法是移动鼠标或按下直接连接到服务器的键盘上的某个按钮。这与计算机(如 Windows PC)处于睡眠状态的情况相同。
我该如何解决这个问题?我需要 x11vnc 始终处于活动状态,不空闲,始终准备好接受新连接(如果有空闲模式)。以下是启动 x11vnc 的 x11vnc 服务文件:
[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service
[Service]
ExecStart=/usr/bin/x11vnc -noxrecord -noxfixes -noxdamage -forever -display :0 -auth guess -rfbauth /etc/x11vnc.pass
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
Restart-sec=2
[Install]
WantedBy=multi-user.target
附言:当问题发生时,应用程序等不会停止工作,没有屏幕保护程序等,它不会休眠,屏幕不会变黑,一切都正常运行。此问题很可能与 x11vnc 本身有关。