1、安装
$ whereis x11vnc # 可以先确认系统内是否有安装x11vnc,若已安装,返回以下路径
x11vnc: /usr/bin/x11vnc /usr/share/x11vnc
sudo apt-get update # 先更新源列表
$ sudo apt-get install x11vnc #通过网络安装x11vnc这个服务端
2、生成访问密码
注意,如果使用了sudo会在root用户下生成密码,不用sudo会在本地cfes用户下生成,/home/cfes/.vnc/passwd
$ x11vnc -storepasswd
3、创建服务,开机启动
$ sudo vim /lib/systemd/system/x11vnc.service #新建服务文件,系统启动时,会从此目录运行所有已配置的service
x11vnc.service文件内容修改如下(参考)
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target
[Service]
Type=simple
#ExecStart=/usr/bin/x11vnc -auth guess -once -loop -noxdamage -repeat -rfbauth -geometry 1024x768 /home/cfes/.vnc/passwd -rfbport 5900 -shared
#ExecStart=/usr/bin/x11vnc -rfbport 5903 -rfbauth ~/.vnc/passwd -display :0 -forever -bg -repeat -nowf -o ~/.vnc/x11vnc.log
ExecStart=/usr/bin/x11vnc -auth guess -once -loop -noxdamage -repeat -rfbauth /home/cfes/.vnc/passwd -rfbport 5900 -shared
#-rfbport:指定启动端口
#-rfbauth:指定密码文件路径
#-o:日志文件路径
#-forever: 一直连接
[Install]
WantedBy=multi-user.target
4、启动服务
配置完x11vnc.service文件后,该命令重新载入所有单元
Systemd 默认从目录/etc/systemd/system/
读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/
,真正的配置文件存放在此目录。
systemctl enable
命令用于在上面两个目录之间,建立符号链接关系。
$ systemctl daemon-reload #重新载入单元
$ systemctl enable x11vnc.service #建立符号链接
$ systemctl restart x11vnc.service #重启服务
5、确认服务
确认服务启动
$ systemctl status x11vnc.service #查看此服务的状态,如果在重启后,应该是 active running 状态
$ ps -ef | grep x11vnc #查看进程是否已启动
$ netstat -nap | grep 5900 #查看指定的端口是否已打开
6、连接
使用MobaXterm 或 VNC Viewer连接成功