我能够以我的用户身份使用以下命令行启动 x11vnc,但如果我以 sudo 或启动服务启动它,我会收到错误消息“XOpenDisplay("") 失败。”
/usr/bin/x11vnc -auth guess -forever -bg -rfbport 5900 -xkb -noxrecord -noxfixes -noxdamage -shared -norc -auth /home/lorensimon/.Xauthority -display :0 -rfbauth /etc/x11vnc.pass
答案1
如果您使用 Wayland DM,目前无法在 Ubuntu 17.10 上使用 x11vnc。存在有关安全性和暴露帧抓取接口的各种问题。
参考: [https://lists.freedesktop.org/archives/wayland-devel/2017-July/034551.html][1]
您可以禁用 Wayland 并隐式启用 x11,这样它就可以正常工作。我已经在全新安装的 Ubuntu Desktop 17.10 上对此进行了测试
#Bash
#UD17.10ARTFUL
MYFILE=/etc/gdm3/custom.conf
sed --in-place --expression "s/^#WaylandEnable=false/WaylandEnable=false/g" ${MYFILE}
grep 'WaylandEnable' ${MYFILE}
#Logout/Login the Ubuntu Desktop session
# A quick test (you must add the security yourself)
x11vnc -display :0 -auth /var/run/lightdm/root/:0 -shared
@note 也可以在登录屏幕上使用 X11 而不是 Wayland 登录(单击齿轮按钮),但该按钮在各种硬件上并不总是可见。
我还建议安装并制作最新的开发版本 x11vnc-0.9.14-dev,而不是来自标准 Ubuntu 存储库的软件包。
我的一般建议实际上是继续使用 Ubuntu 16 LTS 或 Ubuntu 17.04,因为 Wayland 有很多兼容性问题。
让我知道事情的后续。