0

我想做的是自动启动 x11vnc 作为服务。然后让我们说当服务器由于某种原因重新启动时,我将远程登录到远程 ubuntu 16.04 服务器,而没有任何人首先物理登录到计算机。任何线索如何做到这一点?谢谢!。

https://help.ubuntu.com/community/VNC/Servers#x11vnc上的页面说 x11vnc 可以在您的计算机仍显示登录屏幕时启动。我想这正是我的要求。

当我运行“x11vnc -findauth”时,我得到结果 XAUTHORITY=/run/user/1000/gdm/Xauthority。

仅供参考:我将其作为具有此内容的系统服务

[单元]

说明=在启动时启动 x11vnc。

之后=多用户.target

[服务]

类型=简单

ExecStart=/usr/bin/x11vnc -auth /run/user/1000/gdm/Xauthority -display :1 -forever -loop -noxdamage -repeat -rfbauth /home/mms2/.vnc/passwd -rfbport 5900 -shared

[安装]

WantedBy=多用户.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”可以显示文件位置。十月

16 19:45:19 ubuntu x11vnc[1486]: 从 x11vnc 0.9.9 开始你可以

让它尝试猜测使用:10 月 16 日 19:45:19 ubuntu x11vnc [1486]:

-auth 猜测 10 月 16 日 19:45:19 ubuntu x11vnc[1486]:(另请参见 x11vnc -findauth 选项。)10 月 16 日 19:45:19 ubuntu x11vnc[1486]:仅限

root 将具有文件的读取权限,因此必须运行 x11vnc

10 月 16 日 19:45:19 ubuntu x11vnc[1486]:以 root 身份(或复制它)。这

文件名中的随机字符当然是 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 毫秒 ---

4

1 回答 1

0

这与不同会话的开始方式以及您尝试连接的位置有关(我相信技术更高的人可以更具体)。基本上,您需要两个单独的服务,1) 用于登录系统并启动桌面,以及 2) 使用桌面。

您需要创建另一个名为“x11vnc-login”或其他类似服务。但是,更改端口 5900 上的“x11vnc-login”服务侦听和 5901 上的“x11vnc”服务侦听。您还需要更改每个身份验证信息以匹配相关用户,对我来说是 /run/user/1000 /... 对于 5901 和 /run/user/121/... 对于 5900。

然后当你想连接时,通过隧道和 VNC 连接到 5900。这会给你一个登录屏幕,你可以在其中输入你的详细信息,它会变黑。关闭连接并连接到 5901,一切顺利!

经过大量的搜索和挫折,我在评论部分的底部找到了这个答案,这是迄今为止最简单的解决方法。我希望我能再次找到该链接,因为该人值得称赞,但它已滑落,因此您将不得不处理我的二手资料。

于 2019-02-15T17:58:48.857 回答