我正在尝试从我的 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