我使用的是 xubuntu 14.04.04,并已成功启动 VNC 服务器并运行 SSH 隧道等。但是,我遇到了 VNC 服务器问题。x11vnc 0.9.13
目前,我在启动时执行以下命令:
x11vnc -shared -forever -bg -auth guess
该-auth guess
部分用于x11vnc -findauth
自动查找正确的 XAUTHORITY 文件,在我的系统上该文件似乎是/var/run/lightdm/root/:0
。
这是我遇到的问题:VNC 设置按预期工作,直到出现锁定屏幕(当我手动锁定桌面或发生不活动超时时)。当出现锁定屏幕时,VNC 服务器会显示超时发生之前的桌面内容,一种静止帧或快照,并且忽略来自我的 VNC 客户端的所有输入。我无法从 VNC 客户端内解锁它并返回我的桌面;我必须使用远程系统的键盘和显示器。非远程解锁后,VNC 会按预期工作,直到再次出现屏幕锁定。
有几件事我应该提一下:
- 我能够选择我的用户帐户并从帐户登录屏幕登录,而不会通过 VNC 出现任何问题,但是当桌面被锁定时,就会出现问题并且我无法解锁它。
- 仅当我在首次启动后处于初始登录屏幕时,该命令
sudo x11vnc -findauth
才会返回。登录后,无论我在桌面上还是屏幕已锁定,相同的命令都会返回。XAUTHORITY=/var/run/lightdm/root/:0
XAUTHORITY=
答案1
light-locker
锁定时切换到:1
,这样就解释了为什么运行的 vnc 服务器:0
只会看到黑屏。
解决方法很简单,在 启动另一个 vnc 服务器:1
,连接到它,输入密码,然后返回到原始 vnc 连接:0
x11vnc -auth /var/run/lightdm/root/\:1 -display :1
答案2
看起来 2014 年有一个错误涵盖了这一点:
https://bugs.launchpad.net/ubuntu/+source/light-locker/+bug/1287171
我最终删除了 light-locker 并安装了 xscreensaver,现在我不再遇到任何 vnc 问题。
答案3
对我来说唯一有效的方法是(安装并)使用xscreensaver
xfce 的锁定屏幕选项。请注意,xscreensaver
还允许在屏幕保护程序生效后设置密码,从而为您提供类似级别的安全性。