VNC 服务器直到登录后才启动

Bry*_*les 4 server vnc mac networking

我正在尝试建立从 iMac 到运行 Ubuntu 16.10 的(即将成为无头的)Mac Mini 的 VNC 连接。

我正在使用本教程:如何在 Ubuntu 和 LinuxMint 上设置 X11VNC 服务器

通过“启动 X11VNC 服务器”部分,一切都很完美。我从终端提示符运行命令,服务器在 Ubuntu 机器上启动,我可以立即连接到 iMac(运行 Chicken)上的 VNC 客户端。

所以,看起来不错,下一节是如何使 VNC 服务器在启动时启动,我假设我不需要登录就可以连接。

我完全按照最后一节中所示复制了代码,对我的用户文件夹 ( /home/bryan/.vnc/passwd)进行了一次更改,保存并重新启动。尝试连接,客户端告诉我Could not connect to server 192.168.1.2 port 5900 - The server refused the connection.

但是,如果我登录 Ubuntu 机器(目前已将其与显示器、键盘和鼠标连接),并使用之前相同的命令:

sudo x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/bryan/.vnc/passwd -rfbport 5900 -shared
Run Code Online (Sandbox Code Playgroud)

iMac 可以完美地让我登录,这正是我想要的。

为什么在启动时似乎没有加载服务器,我该如何解决这个问题?

感谢您的回复!

kfo*_*oxb 5

您引用的教程已经过时,它假设您使用的是旧版本的 Ubuntu,并以 Upstart 作为初始化系统(初始化系统控制启动应用程序)。较新版本的 Ubuntu 使用 systemd 作为初始化系统。

您需要在 at 创建一个新文件/lib/systemd/system/x11vnc.service并将其放入文件中:

[Unit]
Description=Start x11vnc at startup.
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/bryan/.vnc/passwd -rfbport 5900 -shared

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

创建该文件后,您需要通过发出以下命令使用 systemctl 启用和重新加载服务:

sudo systemctl enable x11vnc.service
sudo systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)

我建议在运行这些命令后重新启动系统。

参考:http : //c-nergy.be/blog/?p=8984

注意:对于有相同问题并创建此文件的任何其他人。请务必将 ExecStart 行更改为指向您的密码,即更改/home/bryan/.vnc/passwd/home/yourusername/.vnc/passwd