前置条件,远程客户端已经安装VNC Viewer
x11vnc安装
在Ubuntu 16.04中安装x11vnc,可以按照以下步骤操作:
sudo apt-get update
sudo apt-get install x11vnc
sudo x11vnc -storepasswd
x11vnc -forever -shared -rfbauth ~/.vnc/passwd
解决方案
远程连接如果出现以下错误:
原因分析:使用的sudo命令创建的密码,因此文件归属root用户,而启动x11vnc时却是用的普通用户,因此使用VNC Viewer连接后进行密码校验时因为无权限读取密码文件而导致了校验失败。
解决方案
知道了原因问题就好解决了,两个解决方案,最简单的一个,启动x11vnc时也使用sudo命令:
sudo x11vnc -forever -shared -rfbauth ~/.vnc/passwd
第二个,赋予当前用户对passwd文件的读写权限,然后使用该用户保存密码
最后依然使用x11vnc -forever -shared -rfbauth ~/.vnc/passwd命令来启动x11vnc
出现弹窗:ubable to connect to VNC Server using your chosen security setting.Either upgrade VNC Server to a more recent version from real VNC or select a weaker level of encryption.
sudo apt-get install dconf-tools
打开dconf
进入以下目录org->gnome->desktop->remote-access,将require-encryption的√去掉
x11vnc开机自启动
创建并编辑一个新的systemd服务文件。输入以下命令打开文件:
sudo nano /etc/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/<USERNAME>/.vnc/passwd -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target
注意:代码中USERNAME,是你的用户名,切记一定要更改。
保存并退出文件。
输入以下命令以重载systemd服务文件:
sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
输入以下命令以启动x11vnc服务:
sudo systemctl start x11vnc.service
若要验证服务是否正在运行,请输入:
sudo systemctl status x11vnc.service
现在,在Ubuntu 16.04中的每次启动后,x11vnc都会自动启动,并且可以通过VNC客户端远程连接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)