【deepin】无网络环境下配置x11vnc与xrdp,实现Windows远程控制deepin系统

张开发
2026/4/11 17:47:52 15 分钟阅读

分享文章

【deepin】无网络环境下配置x11vnc与xrdp,实现Windows远程控制deepin系统
1. 无网络环境下远程控制deepin的准备工作想象一下这样的场景你有一台运行deepin系统的电脑放在实验室但实验室的网络突然故障了。这时候你需要从家里的Windows电脑远程控制它该怎么办这就是我们今天要解决的核心问题。无网络环境下的远程控制听起来像是个矛盾命题但通过x11vnc和xrdp这两个工具的配合完全可以实现。x11vnc负责提供图形界面的远程访问xrdp则让Windows自带的远程桌面连接工具能够直接访问deepin系统。我去年在公司内网部署这套方案时成功解决了研发团队跨平台协作的难题。关键准备工作一台已安装deepin系统的电脑建议20.5或更新版本一台Windows系统的控制端电脑U盘或移动硬盘用于转移离线安装包提前下载好的x11vnc和xrdp安装包及其依赖我强烈建议在开始前先在有网络的环境下准备好所有安装包。deepin基于Debian所以可以直接使用.deb格式的安装包。你可以通过另一台联网的deepin电脑使用以下命令下载所需文件apt-get download x11vnc xrdp $(apt-cache depends x11vnc xrdp | grep -E Depends|Recommends | cut -d: -f2 | tr -d )2. 离线安装x11vnc的完整流程2.1 安装包部署与基础安装把下载好的安装包拷贝到deepin系统的/data/packages/x11vnc目录下没有该目录可以手动创建。这里有个小技巧我习惯按照功能创建不同的目录这样后期维护会更清晰。切换到root用户后进入安装包所在目录执行安装cd /data/packages/x11vnc dpkg -i *.deb这个过程中可能会遇到依赖问题。别担心这正是我们提前下载所有依赖包的原因。如果提示缺少某个依赖只需在依赖包目录中找到对应的.deb文件手动安装即可。2.2 密码配置与权限设置安全是远程访问的首要考量。为x11vnc设置访问密码x11vnc -storepasswd /etc/x11vnc.pass执行后会提示输入并确认密码。这里有个我踩过的坑密码不要设置得太简单但也不要复杂到记不住因为后续连接时需要频繁输入。接着修改相关文件权限chmod 777 /etc/x11vnc.pass chmod 777 /usr/bin/x11vnc2.3 服务配置优化原始配置可能无法满足我们的需求需要修改服务文件vi /lib/systemd/system/x11vnc.service关键配置修改为[Service] Typesimple ExecStart/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared这里解释几个重要参数-forever保持服务持续运行-loop断开后自动重连-shared允许多个客户端同时连接最后重新加载配置并启动服务systemctl daemon-reload service x11vnc start3. xrdp的离线安装与配置3.1 安装xrdp主程序将xrdp安装包上传到/data/packages/xrdp目录执行安装cd /data/packages/xrdp dpkg -i *.deb安装完成后检查服务状态systemctl status xrdp如果看到active (running)字样说明服务已正常启动。3.2 防火墙配置如有如果deepin系统启用了防火墙需要开放3389端口ufw allow 3389/tcp虽然是无网络环境但防火墙规则仍然会影响本地连接。我在第一次配置时就因为这个疏忽浪费了半小时排查。3.3 与x11vnc的协同工作xrdp默认使用Xvnc作为后端这正是我们安装x11vnc的原因。两者协同工作时xrdp负责协议转换x11vnc提供实际的图形界面传输。可以通过修改xrdp的配置文件来优化体验vi /etc/xrdp/xrdp.ini建议调整以下参数max_bpp24色彩深度bitmap_compressiontrue启用位图压缩bulk_compressiontrue启用批量压缩4. Windows端的连接设置4.1 使用远程桌面连接在Windows电脑上按WinR输入mstsc打开远程桌面连接。输入deepin电脑的IP地址和端口默认3389点击连接。首次连接时会看到xrdp的登录界面。这里需要注意会话类型选择Xorg用户名填写deepin系统的登录用户名密码是系统登录密码不是x11vnc的密码4.2 备用连接方案VNC客户端如果xrdp连接出现问题可以使用TightVNC或RealVNC等客户端通过5900端口连接x11vnc服务。输入之前设置的x11vnc密码即可。我建议同时配置这两种方式因为xrdp提供更好的Windows集成体验x11vnc作为备用方案更可靠4.3 常见问题排查如果连接失败可以按以下步骤排查检查deepin系统上服务是否运行service x11vnc status service xrdp status查看日志获取详细错误信息journalctl -u x11vnc -n 50 tail -n 50 /var/log/xrdp.log确保Windows防火墙没有阻止连接5. 高级配置与优化建议5.1 自启动服务配置为了让服务在系统重启后自动运行systemctl enable x11vnc systemctl enable xrdp5.2 显示分辨率调整默认分辨率可能不适合你的显示器可以通过修改xrdp配置调整vi /etc/xrdp/xrdp.ini找到[Xorg]段添加param-screen param1920x10805.3 性能优化在带宽有限的环境下如通过USB网络共享连接可以启用更多压缩选项vi /etc/xrdp/xrdp.ini添加tcp_send_buffer_bytes32768 tcp_recv_buffer_bytes327685.4 安全加固虽然是无网络环境但仍建议定期更改x11vnc密码限制连接IP如果有固定IP考虑使用SSH隧道加密传输需要额外配置6. 实际应用场景扩展这套方案不仅适用于完全无网络的环境在以下场景也同样有效内网隔离环境网络不稳定的场所需要高安全性的环境我在部署医疗影像系统时就采用了类似方案既满足了数据隔离要求又实现了远程维护。一个实用的技巧是可以编写自动化脚本将整个安装配置过程一键化。这样在新设备部署时能节省大量时间。对于需要频繁切换控制端的场景建议在deepin系统上安装dconf-editor调整GNOME设置以优化远程体验apt-get install dconf-editor然后在org gnome desktop remote-access下调整相关参数。

更多文章