必须完成x11vnc安装、密码设置、systemd服务注册、防火墙放行与服务启动五步;缺一则连接失败、黑屏或重启失效,且每步均有严格依赖与验证要求。

要在统信UOS上实现从Windows、Mac或另一台Linux设备远程查看并操控桌面,必须完成x11vnc服务端安装、密码设置、systemd服务注册、防火墙放行与服务启动五个不可跳过的环节;任一缺失都会导致连接失败、黑屏或重启后失效。
安装x11vnc并验证基础依赖
打开终端(Ctrl+Alt+T),先更新软件源以确保能获取最新版本:【sudo apt update】。
执行安装命令:【sudo apt install x11vnc net-tools -y】。net-tools用于后续检查5900端口是否监听,不装会导致无法确认服务是否真正运行。
安装完成后,立即运行【x11vnc -help】。若提示“command not found”,说明安装失败——常见原因是APT源未启用non-free组件,需手动编辑/etc/apt/sources.list补充deb源中的“contrib non-free”字段后再重试。
设置VNC访问密码并确认存储路径
在终端中直接运行:【x11vnc -storepasswd】。
按提示输入两次密码(输入时无任何回显,属正常现象),成功后系统自动将加密凭证写入当前用户家目录下的【~/.vnc/passwd】文件。
这一步不能跳过或用空密码替代——x11vnc默认拒绝空密码启动,且后续systemd服务配置中硬编码了该路径,改位置或删文件会导致服务启动时报错“Failed to open password file”。
创建systemd服务实现开机自启
第一步:用root权限创建服务文件:【sudo vim /usr/lib/systemd/system/x11vnc.service】。
第二步:粘贴以下内容(注意将自己用户名替换为实际登录用户名,可用【whoami】确认):
[Unit]
Description=x11vnc VNC Server
After=display-manager.service network.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -forever -shared -rfbauth /home/自己用户名/.vnc/passwd -display :0 -rfbport 5900 -o /var/log/x11vnc.log
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
[Install]
WantedBy=multi-user.target
第三步:保存退出后,立即重载配置:【sudo systemctl daemon-reload】。
第四步:启用开机自启:【sudo systemctl enable x11vnc.service】。
放行防火墙端口并启动服务
检查ufw状态:【sudo ufw status verbose】。若显示“Status: active”,则必须放行5900端口。
执行:【sudo ufw allow 5900】。此操作不可逆,若后续需限制访问IP,须额外添加from规则。
启动服务:【sudo systemctl start x11vnc.service】。
验证是否运行成功:【sudo systemctl status x11vnc.service】,输出中必须含“active (running)”且无红色failed字样。

















