我想做的是自动启动x11vnc作为服务。然后假设当服务器因某种原因重新启动时,我会远程登录到远程 ubuntu 16.04 服务器,一开始没有人物理登录到计算机。有什么线索可以做到这一点吗?谢谢!。
https://help.ubuntu.com/community/VNC/Servers#x11vnc 的页面说,当您的计算机仍然显示登录屏幕时,可以启动x11vnc。我认为这正是我的要求。
当我运行"x11vnc -findauth"时,我得到的结果是XAUTHORITY=/run/user/1000/gdm/Xauthority。
仅供参考:我用这个内容把它作为一个系统服务
[单位]
描述=启动时启动 x11vnc。
之后=多用户.目标
[服务]
类型=简单
ExecStart=/usr/bin/x11vnc -auth/run/user/1000/gdm/Xauthority-display :1 -forever -loop -noxdamage -重复 -rfbauth/home/mms2/.vnc/passwd -rfbport 5900 -shared
[安装]
WantedBy=multi-user.target
当任何用户首次登录系统时,它都可以正常工作。但是,如果没有用户先登录,我会在日志文件中看到此错误
10 月 16 日 19:45:19 ubuntu x11vnc[1486]: dtlogin: -auth
/var/dt/A:0-UgaaXa Oct 16 19:45:19 ubuntu x11vnc[1486]: 有时
命令"ps wwwwaux |grep auth"可以显示文件位置。10月
16 19:45:19 ubuntu x11vnc[1486]:从 x11vnc 0.9.9 开始,你可以
让它尝试使用以下方法猜测: Oct 16 19:45:19 ubuntu x11vnc[1486]:
-auth guess Oct 16 19:45:19 ubuntu x11vnc[1486]:(另见x11vnc -查找选项。10 月 16 日 19:45:19 ubuntu x11vnc[1486]:仅
root 将具有文件的读取权限,因此必须运行 x11vnc
Oct 16 19:45:19 ubuntu x11vnc[1486]:作为根用户(或复制它(。 这
文件名中的随机字符当然会 Oct 16 19:45:19
Ubuntu x11vnc[1486]:更改cookie文件的目录
驻留在 中取决于系统。10 月 16 日 19:45:19 ubuntu x11vnc[1486]:
另请参阅: http://www.karlrunge.com/x11vnc/faq.html 10 月 16 日 19:45:19
Ubuntu x11VNC[1486]:--- x11vnc 循环:休眠 2000 毫秒---
这与不同会话的启动方式以及您尝试连接的位置有关(我相信技术性更强的人可以更具体(。基本上,您需要两个单独的服务,1(用于登录系统并启动桌面,2(使用桌面。
您需要创建另一个类似的服务,称为"x11vnc-login"或其他服务。但是,更改端口 5900 上的"x11vnc-login"服务侦听和 5901 上的"x11vnc"服务侦听。您还需要更改每个用户的身份验证信息以匹配相关用户,对我来说它是/run/user/1000/... 对于 5901 和/run/user/121/...对于 5900。
然后,当您要连接时,请通过隧道将VNC连接到5900。这将为您提供登录屏幕,您可以在其中输入您的详细信息,然后它会变黑。关闭连接并连接到 5901,您就可以开始了!
经过大量的搜索和沮丧,我在评论部分的底部找到了这个答案,这是迄今为止最简单的解决方法。我希望我能再次找到链接,因为那个人应该得到荣誉,但它已经溜走了,所以你将不得不与我的二手东西有关。