亲测好用,已完成测试的系统有:Ubuntu16.04 LTS、Ubuntu20.04 LTS
1、切换至root用户
su root
2、下载安装脚本
wget https://github.com/longhr/ubuntu1604hub/raw/master/ubuntu1604VNC.sh
3、授予脚本可执行权限
chmod u+x ubuntu1604VNC.sh
4、执行脚本,开始安装
./ubuntu1604VNC.sh
备注:如果因网络脚本下载失败,可自建脚本,文件名和内容如下:
ubuntu1604VNC.sh
# #################################################################
# 脚本名称 : ubuntu1604VNC
# 脚本描述 : 自动安装配置和自动启动X11Vnc
# 编写日期 : 2016.6.13
# 作 者 : longhr
# 作者网站 : blog.csdn.net/longhr
# 软件版本 : 0.1
# 注意事项: 运行完5秒内会重启
# 免责声明 : 使用自由,后果自付
# #################################################################
# 步骤 1 - 安装 X11VNC
# #################################################################
sudo apt-get install x11vnc -y
# 步骤 2 - 配置访问密码
# #################################################################
sudo x11vnc -storepasswd /etc/x11vnc.pass
# 步骤 3 - 创建服务
# #################################################################
cat > /lib/systemd/system/x11vnc.service << EOF
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target
EOF
# 步骤 4 - 配配置防火墙端口,配置和启动服务
# ################################################################
echo "Configure firewall"
sudo ufw allow 5900
echo "Configure Services"
sudo systemctl enable x11vnc.service
sudo systemctl daemon-reload
# 步骤 5 - 重启
# ################################################################
sleep 5s
sudo shutdown -r now
Then,enjoy!
If you have a problem, please email me, thank you !
常见问题:
1、在Ubuntu20.04 LTS上,安装完电脑重启后依然无法连接x11vnc。
查看x11vnc状态如下:
问题原因是软件x11vnc已经升级了。NVIDIA论坛帖子:Unable to start remote desktop server x11vnc xrdp
解决方案是:
把 -auth guess 改成 -auth /run/user/1000/gdm/Xauthority
修改后wq保存。之后要执行如下命令使修改的内容生效:
systemctl daemon-reload
重启x11vnc,命令如下:
# 先停止
systemctl stop x11vnc
# 启动
systemctl start x11vnc
发现还会出错x11vnc xopendisplay failed,错误截图如下:
解决方案是:
增加一个参数:-display :1
文件/lib/systemd/system/x11vnc.service 修改后如下:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/user/1000/gdm/Xauthority -display :1 -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
[Install]
WantedBy=multi-user.target
最后wq保存,再次执行如下命令:
# 重新加载
systemctl daemon-reload
# 关闭x11vnc
systemctl stop x11vnc
# 开启x11vnc
systemctl start x11vnc
# 查看x11vnc状态
systemctl status x11vnc
当状态显示如下,看见端口号5900即为开启成功。
此时可以通过vnc客户端连接x11vnc了。
windows用户推荐使用vncviewer
下载链接:VNC-Viewer-6.22.826-Windows.exe
2、大小写切换不能用。
参考链接:遇到用vnc-viewer连接,键盘Caps Lock不好使和小键盘错位的问题
解决方案是,增加参数:
-capslock -nomodtweak
更新配置文件/lib/systemd/system/x11vnc.service 如下:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth /run/user/1000/gdm/Xauthority -display :1 -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared -capslock -nomodtweak
[Install]
WantedBy=multi-user.target
刷新配置文件,重启服务,即可解决!