如果你最近在搜索“Ubuntu 22.04 XRDP / RDP 远程桌面”,大概率是遇到了类似场景:家里有台 Ubuntu 主机想给 Windows 笔记本远程连过去,公司内部有台 Ubuntu 工作站需要多人共用,或者实验室服务器上装了桌面环境,想从本地电脑直接打开图形界面。这篇文章我会把从零开始手动安装 XRDP(RDP 远程桌面)的完整链路拆开讲一遍,包括服务端安装、会话配置、客户端连接、高频问题排查,以及最后的安全加固。它适合刚接触 Linux 的新手,也适合已经装好桌面却反复黑屏、闪退、断连的老手拿来对照避坑。
1. 方案选型:为什么 Ubuntu 22.04 远程桌面我推荐 XRDP
1.1 先对比一下常见远程方案
很多人会纠结:远程桌面不是有 VNC、TigerVNC、RealVNC,还有向日葵、ToDesk、TeamViewer 吗,为什么要用 XRDP?
我把这几类方案放在一起比较过,实际体验差异非常明显:
| 方案 | 客户端要求 | 局域网体验 | 剪贴板支持 | 资源占用 | 我遇到的典型问题 |
|---|---|---|---|---|---|
| VNC | 要额外装客户端 | 中规中矩 | 文本勉强可以 | 中等 | 密码配置绕,多显示器支持弱 |
| 向日葵/ToDesk/TeamViewer | 要装专用客户端 | 受服务器中转影响 | 功能全但有限制 | 中高 | 个人版限速、设备数限制、隐私顾虑 |
| XRDP | Windows 自带 mstsc 即可 | 稳定流畅 | 文本/图片都OK | 中低 | GNOME 会话需要额外调试 |
我并不是说商业软件不好,它们在外网连接、跨网络穿透方面确实省心。但如果你要管的设备大多是同一局域网、或者你愿意用 SSH 隧道把端口转出去,XRDP 的体验是最接近“原生 Windows 远程桌面”的。原因很简单:RDP 协议本身经过了微软二十多年迭代,编码效率、带宽自适应、剪贴板与音频重定向都很成熟,而 XRDP 就是把这个协议的服务器端移植到了 Linux 上。
1.2 XRDP 到底是怎么工作的
这里简单理解一下原理,后续查问题会很有帮助。X RDP 是一个开源 RDP 服务端,它启动后监听 TCP 3389 端口,等待客户端发来 RDP 握手请求。收到请求后,xrdp 主进程会把认证和会话创建任务交给另一个进程 xrdp-sesman,由 sesman 负责验证用户名密码,并为这个用户拉起一个图形会话。
会话底层的图形承载有两种常见方式:
- Xorg 后端:配合 xorgxrdp 模块,Xorg 直接把画面输出给 RDP 客户端。这种方式链路短、延迟低,是 Ubuntu 22.04 上的推荐做法。
- Xvnc 后端:先启动一个 VNC 服务,再由 xrdp 转成 RDP。相当于中间多了一层,性能和清晰度会打折扣。
xrdp 的角色更像一个翻译官:左边是 Windows 发来的 RDP 协议,右边是 Linux 桌面环境产生的 X11/Wayland 内容,它负责把两端对接起来。看到这里你应该明白,我为什么不建议只 apt install xrdp 而不装 xorgxrdp。只装前者也不是完全不能用,但系统会默认走 Xvnc 后端,实际用起来画面有明显延迟,字体和缩放效果也不理想。装好 xorgxrdp 后,Xorg 能直接把桌面帧编码成 RDP 流回传,体验会好一截。
1.3 什么场景适合、什么场景不适合
先泼一盆冷水。XRDP 不是万能的,以下几个场景我明确不建议用:
- 你的核心需求是玩 3D 游戏或做 GPU 强渲染,远程桌面本质上是“把画面变成视频流再传给你”,和本地显示器直出完全是两回事。
- 你必须用 Ubuntu 22.04 GNOME 默认的 Wayland 会话。XRDP 目前还是走 Xorg 的,Wayland 会话需要先切回 Xorg 才能稳定运行。
- 你需要多台机器做专业的屏幕色彩管理,RDP 的默认色彩压缩可能会让设计稿色差,不可接受。
但如果你的目标是隔着一台电脑远程打开文档、写代码、执行办公软件、管理服务器图形界面,或者让同事共享一台 Ubuntu 工作站,那 XRDP 是效率最高、坑最少的选择。这也是我为什么常驻用它,后续再也没换回 VNC 的原因。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 安装前先确认系统状态:桌面环境与依赖缺一不可
2.1 花两分钟确认你的 Ubuntu 版本和桌面状态
很多人装完 xrdp 连不上,不是因为配置不对,而是系统本身就不是“可远程登录”的状态。第一次动手前,我建议你先在终端执行:
bash复制lsb_release -a
看 Release 字段是不是 22.04。然后确认有没有桌面环境:
bash复制echo $XDG_CURRENT_DESKTOP
echo $XDG_SESSION_TYPE
如果第一个命令输出为空,说明当前环境可能没有图形会话;如果第二个输出是 wayland,说明你现在跑在 Wayland 上,后面配置 XRDP 时就要额外留意切到 Xorg。Ubuntu 22.04 的 Server 版默认没有桌面环境
