Ubuntu 22.04 手动安装 XRDP(RDP 远程桌面)教程

Ubuntu 22.04 手动安装 XRDP(RDP 远程桌面)教程

说明:本文介绍在 Ubuntu 22.04 上手动安装并启用 XRDP ,让 Windows 使用"远程桌面连接(mstsc)"通过 RDP 协议访问 Linux 桌面。

相比 VNC,XRDP 更适合服务器/运维场景:

  • 不依赖共享本机现有桌面
  • 一般不受锁屏/屏幕空白影响
  • 可在无头/注销状态下创建独立桌面会话

1. 什么是 XRDP?

XRDP 是一个免费的开源程序,是 Microsoft RDP(Remote Desktop Protocol,远程桌面协议)的实现。安装 XRDP 后,你可以从 Windows 通过"远程桌面连接"登录到 Ubuntu,并创建一个真实的图形桌面会话(类似本地登录)。


2. 环境与前提

  • Ubuntu 版本:Ubuntu 22.04
  • 需要 sudo 权限
  • 网络可达(Windows 能访问 Ubuntu 的 3389/TCP)

3. 安装步骤

3.1 更新软件索引(重建 APT 缓存)

bash 复制代码
sudo apt update

3.2 安装 XRDP

Ubuntu 默认仓库就提供 XRDP,无需添加第三方源:

bash 复制代码
sudo apt install -y xrdp

4. 启动并设置开机自启

4.1 启动服务

bash 复制代码
sudo systemctl start xrdp

4.2 设置开机自启

bash 复制代码
sudo systemctl enable xrdp

4.3 查看运行状态

bash 复制代码
systemctl status xrdp

5. 放行防火墙端口(如启用了 UFW)

XRDP 默认监听端口:3389/TCP。

放行端口:

bash 复制代码
sudo ufw allow 3389/tcp

查看防火墙状态:

bash 复制代码
sudo ufw status

6. Windows 端连接方法

  1. 在 Windows 按 Win + R
  2. 输入 mstsc 回车,打开"远程桌面连接"
  3. 在"计算机"里输入 Ubuntu 的 IP 地址或主机名
  4. 连接后输入 Ubuntu 的用户名与密码

7. 常见排查

7.1 Windows 连接失败(无法连接/超时)

在 Ubuntu 端确认 XRDP 是否监听:

bash 复制代码
ss -lntp | grep 3389 | cat

确认服务状态:

bash 复制代码
systemctl status xrdp | cat

确认防火墙:

bash 复制代码
sudo ufw status | cat

7.2 连接后黑屏/闪退

此类问题通常与桌面环境、会话配置或权限有关。建议先确认系统安装了桌面环境,并查看 XRDP 日志:

bash 复制代码
sudo journalctl -u xrdp -n 200 --no-pager | cat
sudo journalctl -u xrdp-sesman -n 200 --no-pager | cat

8. 最短命令总结

bash 复制代码
sudo apt update
sudo apt install -y xrdp
sudo systemctl start xrdp
sudo systemctl enable xrdp
systemctl status xrdp
sudo ufw allow 3389/tcp
相关推荐
2035去旅行27 分钟前
ADB的底层原理
linux·adb·嵌入式·arm·soc
武子康33 分钟前
单卡 A6000 跑 Qwen-Drive:怎样留下可比较的第一条基线?
linux·人工智能·深度学习
女神下凡40 分钟前
芯参谋(107):杰理AC_中科蓝讯_开发指南
linux·服务器·网络·单片机·嵌入式硬件
落羽的落羽1 小时前
【C++】C++17的主要特性
linux·服务器·开发语言·c++·算法·机器学习
SQL772 小时前
IT运维发展史,一部宏伟史诗
运维·运维发展史
分布式存储与RustFS3 小时前
Terraform 状态文件老在本地丢、并发还撞锁:把 state 锁进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
csdn_aspnet4 小时前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
爱和冰阔落5 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
say_fall7 小时前
【Linux网络编程】UDP套接字编程:系统编程组件、基础回显服务、InetAddr与地址转换、翻译服务与线程池聊天室
linux·服务器·网络·udp·vr
ö Constancy8 小时前
一台电脑的硬件组成与作用:按功能分类详解(Windows 与 Linux 视角)
linux·windows·电脑