[deepin exploration] Deepin V25系统x11vnc远程连接配置
Tofloor
poster avatar
suiji
deepin
2025-08-26 14:28
Author

1.前言

最近deepin系统发布了新版本,出于尝鲜的目的,我决定体验一下。考虑到直接在物理机上安装风险较大,就选择了虚拟机环境进行测试。为了方便后续使用,我计划在deepin上开启远程连接功能,不过过程中遇到了一些问题。经过一番摸索终于成功解决,特别记录下这个过程,希望能给遇到类似问题的朋友提供参考。

2.安装配置x11vnc
安装x11vnc

sudo apt-get install x11vnc -y

配置x11vnc密码

sudo x11vnc -storepasswd /etc/x11vnc.passwd

配置x11vnc服务脚本

sudo vim /lib/systemd/system/x11vnc.service

x11vnc服务脚本编辑

[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.passwd -rfbport 5900 -shared -ultrafilexfer -bg -o /var/log/x11vnc.log
ExecStop=/usr/bin/killall x11vnc[Install]
WantedBy=multi-user.target

修改文件权限,同时修改用户和组

sudo chmod 755 /etc/systemd/system/x11vnc.service
sudo chown root:root /etc/systemd/system/x11vnc.service

设置开机启动

sudo systemctl enable x11vnc.service #设置开机启动
sudo systemctl daemon-reload #重新加载服务管理配置信息
sudo systemctl start x11vnc.service #启动服务器

检查x11vnc状态

此时就遇到了问题,经排查可能是由于X11认证文件.Xauthority配置异常或服务权限问题所致。

3.配置.Xauthority
.Xauthority 是 X 服务器存储认证信息的关键文件,路径通常为 ~/.Xauthority。

手动创建文件

touch ~/.Xauthority

设置权限

chmod 755 ~/.Xauthority

确保文件所有权

chown 用户名:用户名 ~/.Xauthority  # 替换为实际用户名

配置x11vnc服务的环境变量(若通过 Systemd 管理 x11vnc 服务,需在服务文件中显式设置 XAUTHORITY 和 DISPLAY 环境变量。)

[Service]
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/用户名/.Xauthority"  # 替换为实际路径

重载配置并重启服务

sudo systemctl daemon-reload
sudo systemctl restart x11vnc

手动生成X认证信息

xauth generate :0 . trusted  # 生成认证信息到 .Xauthority

确认x11vnc服务状态

4.本地远程连接测试
输入IP地址

点击OK继续

勾选不再提示,并继续

填写密码,点击OK

正常登入

image.png

5.参考文档:

https://blog.csdn.net/qq_58286439/article/details/13542374

Reply Favorite View the author
All Replies
Ziggy
deepin
2025-08-26 14:35
#1

你用的啥虚拟机?virt-manager启动qemu/kvm的其实可以直接用virt-viewer来访问spice协议的远程

图片.png

Reply View the author
要成
deepin
2025-08-26 15:01
#2

顶一下收藏

Reply View the author
BigFish
deepin
2025-08-26 15:47
#3

还是银河麒麟比较好,直接系统集成VNC,想用就用,不想用就关。希望Deepin也能集成。
NVC.jpg

Reply View the author
suiji
deepin
2025-08-28 17:18
#4
Ziggy

你用的啥虚拟机?virt-manager启动qemu/kvm的其实可以直接用virt-viewer来访问spice协议的远程

图片.png

VMware

Reply View the author
骑木马的哥哥
deepin
2025-09-18 11:54
#5

这个帖子错误太多了,靠着已有的Linux经验,改了很多东西,最后部署成功了。

第2步的安装配置x11vnc章节中的服务脚本有问题,调整后为:

[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.passwd -rfbport 5900 -shared -ultrafilexfer -bg -o /var/log/x11vnc.log
ExecStop=/usr/bin/killall x11vnc
[Install]
WantedBy=multi-user.target

错误原因为:[Service]和[Install]的行数不对,这两个东西应该独立一行。如果编辑文件提示只读,但明明又使用了sudo提升了权限,需要关闭磐石系统,命令为:sudo deepin-immutable-writable enable ,需要重启生效。

修改文件权限,同时修改用户和组这一步的命令也有误,路径应为:/lib/systemd/system/x11vnc.service
修改后的命令为:

sudo chmod 755 /lib/systemd/system/x11vnc.service
sudo chown root:root /lib/systemd/system/x11vnc.service

设置开机启动步骤也有误,应当先重载服务,使服务生效,再启动服务,确认没问题后,再设置开机自启。调整后的顺序为:

sudo systemctl daemon-reload #重新加载服务管理配置信息
sudo systemctl start x11vnc.service #启动服务器
sudo systemctl enable x11vnc.service #设置开机启动

在3步的配置.Xauthority章节中,命令中的波浪号是中文波浪号,应当为英文波浪号~,应当注意。

配置x11vnc服务的环境变量(若通过 Systemd 管理 x11vnc 服务,需在服务文件中显式设置 XAUTHORITY 和 DISPLAY 环境变量。)这一步中,是编辑/lib/systemd/system/x11vnc.service 文件,在[Service]后面加入内容,加入的内容不包含[Service]。这里考虑到社区有小白用户,特别说明下。

手动生成X认证信息,这一步中,会提示xauth命令未找到,可以用apt安装下:

sudo apt install -y xauth

把我指出的地方修改后,其他的就没问题了,就能顺利安装了。

Reply View the author
骑木马的哥哥
deepin
2025-09-18 17:36
#6
骑木马的哥哥

这个帖子错误太多了,靠着已有的Linux经验,改了很多东西,最后部署成功了。

第2步的安装配置x11vnc章节中的服务脚本有问题,调整后为:

[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.passwd -rfbport 5900 -shared -ultrafilexfer -bg -o /var/log/x11vnc.log
ExecStop=/usr/bin/killall x11vnc
[Install]
WantedBy=multi-user.target

错误原因为:[Service]和[Install]的行数不对,这两个东西应该独立一行。如果编辑文件提示只读,但明明又使用了sudo提升了权限,需要关闭磐石系统,命令为:sudo deepin-immutable-writable enable ,需要重启生效。

修改文件权限,同时修改用户和组这一步的命令也有误,路径应为:/lib/systemd/system/x11vnc.service
修改后的命令为:

sudo chmod 755 /lib/systemd/system/x11vnc.service
sudo chown root:root /lib/systemd/system/x11vnc.service

设置开机启动步骤也有误,应当先重载服务,使服务生效,再启动服务,确认没问题后,再设置开机自启。调整后的顺序为:

sudo systemctl daemon-reload #重新加载服务管理配置信息
sudo systemctl start x11vnc.service #启动服务器
sudo systemctl enable x11vnc.service #设置开机启动

在3步的配置.Xauthority章节中,命令中的波浪号是中文波浪号,应当为英文波浪号~,应当注意。

配置x11vnc服务的环境变量(若通过 Systemd 管理 x11vnc 服务,需在服务文件中显式设置 XAUTHORITY 和 DISPLAY 环境变量。)这一步中,是编辑/lib/systemd/system/x11vnc.service 文件,在[Service]后面加入内容,加入的内容不包含[Service]。这里考虑到社区有小白用户,特别说明下。

手动生成X认证信息,这一步中,会提示xauth命令未找到,可以用apt安装下:

sudo apt install -y xauth

把我指出的地方修改后,其他的就没问题了,就能顺利安装了。

我自己写了一篇帖子,见:Deepin 25部署x11vnc+xrdp,实现vnc和mstsc双重访问-论坛-深度科技

有需要的可以参考。

Reply View the author