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

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

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

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

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

所以,看起来不错,下一节是如何使 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

iMac 可以完美地登录,完全按照我想要的方式。

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

谢谢大家的回复!

答案1

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

您需要创建一个新文件并将/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

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

sudo systemctl enable x11vnc.service
sudo systemctl daemon-reload

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

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

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

相关内容