在 Ubuntu 22.04 上开启远程桌面,最稳定且兼容性最好的方案是安装 xrdp。它允许你通过 Windows 自带的“远程桌面连接”(RDP)或 macOS 的 Microsoft Remote Desktop 直接连入 Linux 图形界面。
以下是经过验证的标准操作流程,按步骤执行即可:
第一步:更新系统并安装 xrdp
打开终端,依次执行以下命令:
# 1. 更新软件包列表
sudo apt update
# 2. 安装 xrdp 及其依赖
sudo apt install xrdp -y
# 3. 启动服务并设置为开机自启
sudo systemctl enable xrdp
sudo systemctl start xrdp
# 4. 检查服务状态(确保运行正常)
sudo systemctl status xrdp
注意:如果
systemctl status xrdp显示绿色active (running),说明服务已就绪。
第二步:配置用户登录会话(关键步骤)
Ubuntu 22.04 默认使用 Wayland 显示协议,但 xrdp 对 Wayland 的支持尚不完善。必须强制使用 Xorg 模式,否则连接后可能黑屏或闪退。
为当前用户创建 .xsessionrc 配置文件:
echo "export XDG_SESSION_TYPE=x11" >> ~/.xsessionrc
echo "export GBM_BACKEND=nvidia-drm" >> ~/.xsessionrc # 如果你没有 NVIDIA 显卡,这行可以跳过
然后重启 xrdp 服务使配置生效:
sudo systemctl restart xrdp
第三步:配置防火墙(京东云安全组 + 系统防火墙)
这是最容易出错的地方。你需要同时开放两个层面的端口:
1. 京东云控制台:安全组规则
- 登录 京东云控制台
- 进入你的云服务器实例 -> 安全组
- 添加一条入方向规则:
- 协议类型:TCP
- 端口范围:3389
- 授权对象:
0.0.0.0/0(或指定你的 IP 段) - 策略:允许
2. 服务器内部:UFW 防火墙(如已启用)
如果你的服务器安装了 UFW 防火墙,需放行 3389 端口:
sudo ufw allow 3389/tcp
sudo ufw reload
提示:如果你不确定是否开启了 UFW,可运行
sudo ufw status查看。若显示inactive,则无需此步。
第四步:连接测试
- 在本地电脑打开 远程桌面连接(Windows 键 + R,输入
mstsc)。 - 输入京东云的 公网 IP 地址。
- 点击连接。
- 弹出 xrdp 登录界面:
- Session:选择
Xorg - Username:你的 Linux 用户名(通常是
ubuntu或你自己创建的账户) - Password:该用户的登录密码
- Session:选择
✅ 成功的话,你将看到 Ubuntu 的桌面环境。
⚠️ 常见问题与排查
| 问题现象 | 可能原因及解决方案 |
|---|---|
| 连接后黑屏 | 未设置 XDG_SESSION_TYPE=x11;或用户正在本地登录导致冲突。建议退出本地图形会话再试。 |
| 连接被拒绝 / 超时 | 京东云安全组未开放 3389 端口;或服务器内部防火墙拦截。请双重检查。 |
| 登录后无鼠标/键盘 | 权限问题。确保你使用的是普通用户而非 root(root 默认禁止 xrdp 登录)。 |
| 性能卡顿 | 远程桌面带宽敏感。建议在 xrdp 配置中降低颜色深度(如 16 位色),或在客户端调整分辨率。 |
补充建议
- 不建议使用 VNC:VNC 需要额外安装桌面环境和 VNC Server,资源占用高且安全性不如 xrdp 成熟。
- Root 用户无法登录:出于安全考虑,xrdp 默认禁止 root 直接登录。如需管理员权限,请用普通用户登录后,再用
sudo提权。 - 修改默认端口:如需将 3389 改为其他端口(如 3390),需编辑
/etc/xrdp/xrdp.ini中的port=3389,并同步修改安全组和防火墙规则。
按照以上步骤操作,95% 以上的 Ubuntu 22.04 实例均可顺利实现远程桌面访问。如遇特殊报错,可提供 journalctl -u xrdp -n 50 的输出以便进一步诊断。
云知道CLOUD