xrdp 是什么
xrdp 是 Linux 上的 RDP 服务端实现,让 Windows 用户用自带的 mstsc 远程连接到信创桌面,不需要在客户端额外装 VNC 软件。它监听 3389 端口,把 RDP 会话转成对本地 X 会话的访问。部署三步:装包并启用服务、放行防火墙端口、按桌面环境验证会话显示与剪贴板。信创环境的主流桌面是 UKUI 与 DDE,不同版本对会话脚本的兼容性有差异。
基本信息
| 适用平台 | rpm 系与 deb 系均可,需桌面环境已安装 |
|---|---|
| 软件包 | xrdp(dnf install xrdp / apt install xrdp) |
| 服务管理 | systemctl enable --now xrdp |
| 端口 | 3389/tcp,与 Windows 远程桌面相同 |
| 日志位置 | /var/log/xrdp.log 与 /var/log/xrdp-sesman.log |
典型使用场景
- 替换 Windows 终端:用户继续用 mstsc 连接国产桌面,减少使用习惯改变
- 运维接入:远程维护信创桌面主机的图形界面
- 集中办公:瘦客户端统一通过 RDP 接入后端桌面
- 过渡期兼容:Windows 与信创终端混用阶段,接入方式保持一致
- 测试验证:新桌面版本上线前逐项验证会话、剪贴板与分辨率
安装与启用
安装与启用
dnf install -y xrdp 2>/dev/null || apt install -y xrdp
systemctl enable --now xrdp # 启动并设为开机自启
systemctl status xrdp | head -5 # 确认服务运行
firewall-cmd --add-port=3389/tcp --permanent && firewall-cmd --reload
ss -tlnp | grep 3389 # 确认端口已监听
# Windows 侧:mstsc 输入服务器 IP 连接
systemctl restart xrdp # 改配置后重启生效排错日志与会话脚本
排错日志与会话脚本
tail -50 /var/log/xrdp.log # 主服务日志
tail -50 /var/log/xrdp-sesman.log # 会话管理日志
grep -rE 'startwm|Xsession' /etc/xrdp/ | head # 看会话启动脚本引用
cat /etc/xrdp/startwm.sh | tail -20 # 常见需要按桌面环境调整的位置
systemctl restart xrdp-sesman # 会话管理器重启
journalctl -u xrdp -n 30 --no-pager # 从 journal 侧看启动报错常见现象与方向
| 现象 | 可能原因 | 排查方向 |
|---|---|---|
| 连接后黑屏 | 会话脚本与桌面环境不匹配 | 看 sesman 日志,调整 startwm.sh |
| 登录后立即断开 | 桌面会话冲突或权限问题 | 确认该用户是否已本地登录占用会话 |
| 连不上 3389 | 服务未起或防火墙未放行 | ss -tlnp 与 firewall-cmd --list-all |
| 剪贴板不通 | 组件版本不支持 | 按版本确认剪贴板重定向能力 |
| 分辨率异常 | 会话参数不匹配 | 客户端侧调整显示设置 |
| 中文乱码 | 会话 locale 未设置 | 在会话脚本里显式设置 LANG |
UKUI 与 DDE 的会话兼容性随版本有差异:黑屏或报错先看日志,再按桌面环境调整 startwm.sh 的会话启动逻辑。
3389 暴露面按需收口:限制来源网段,避免直接全网开放,远程接入建议经过堡垒机或跳板。