要通过 RDP(远程桌面协议)连接到 WSL 中的 Ubuntu 24.04,核心思路是在 Ubuntu 中安装一个 RDP 服务器(通常是 xrdp),然后使用 Windows 自带的“远程桌面连接”(mstsc.exe)工具进行连接。
方案一:安装 xRDP(主流且稳定)
这是最常用且兼容性最好的方案。
1. 准备工作:更新系统 在 WSL 的 Ubuntu 终端中,先执行更新命令,确保软件包列表是最新的:
1sudo apt update && sudo apt upgrade -y
2. 安装桌面环境与 xRDP (推荐选择 Xfce) 如果你不需要完整的 GNOME 桌面,轻量级的 Xfce 会更稳定、资源占用更少。
1# 安装 xfce4 桌面和 xrdp 服务
2sudo apt install xfce4 xrdp -y
- (备选)安装 GNOME 桌面:如果偏好完整的 Ubuntu 体验,可以安装
ubuntu-desktop。但由于 GNOME 对 WSL 环境要求更高,可能更容易出现问题。1sudo apt install ubuntu-desktop xrdp -y
3. 配置 xRDP
- 修改端口:为避免与 Windows 本身的 RDP 服务冲突,通常将
xrdp的端口改为3390。1# 备份原配置文件 2sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak 3# 修改端口 4sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini - 指定桌面环境(关键步骤):需要配置
xrdp在连接时启动正确的桌面环境。- 如果使用 Xfce 桌面,执行以下命令:
或者,直接编辑
1# 创建 .xsession 文件,告诉系统启动 xfce4 会话 2echo "xfce4-session" > ~/.xsession/etc/xrdp/startwm.sh,在文件末尾test -x /etc/X11/Xsession && exec /etc/X11/Xsession这行之前加入startxfce4。修改后该文件对应部分应类似:
- 如果使用 Xfce 桌面,执行以下命令:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
exec startxfce4
test -x /etc/X11/Xsession && exec /etc/X11/Xsession
* **如果使用 GNOME 桌面**,需要额外步骤来设置环境变量并启用 Systemd。操作相对复杂,建议优先使用 Xfce。
- 将 xrdp 用户添加到 ssl-cert 组:这一步可以解决部分权限问题,让连接更顺畅。
1sudo adduser xrdp ssl-cert
4. 启动 xRDP 服务 完成配置后,启动服务并设置开机自启:
1sudo systemctl enable xrdp --now
(如果遇到 systemctl 命令报错,可尝试使用 sudo service xrdp start)
5. 在 Windows 中连接
-
获取 WSL IP 地址:WSL 的网络环境是隔离的,因此需要使用其 IP 地址,而非
localhost。在 Ubuntu 终端中运行:1ip addr show eth0 | grep inet记下输出的 IP 地址,例如
172.28.112.1。 -
发起连接:
- 在 Windows 中按
Win + R,输入mstsc并回车,打开“远程桌面连接”。 - 在“计算机”栏中输入你刚才记下的 WSL IP 地址和端口号
3390,格式为IP:3390(例如172.28.112.1:3390)。 - 点击“连接”,在弹出的登录界面中,输入你 WSL Ubuntu 的用户名和密码,并将“Session”选择为
Xorg,即可登录到 Ubuntu 桌面。
- 在 Windows 中按
方案二:使用 Ubuntu 24.04 内置 RDP 功能
Ubuntu 24.04 的 GNOME 桌面环境内置了对 RDP 的支持,配置相对简单。但此方案要求 WSL 中已安装并配置好完整的 GNOME 桌面环境。
1. 在 WSL Ubuntu 中启用远程桌面
- 在 Ubuntu 桌面中,打开“设置”(Settings)。
- 导航至“系统”(System) -> “远程桌面”(Remote Desktop)。
- 开启“远程登录”(Remote Login) 开关,并设置好用户名和密码。
2. 在 Windows 中连接 与方案一类似,使用 Windows 远程桌面连接(mstsc),但端口可能不同。
- 获取 WSL IP 地址:
ip addr show eth0 | grep inet。 - 发起连接:在 mstsc 中,输入
IP:3389(这是 Ubuntu 24.04 内置 RDP 服务的默认端口)。
常见问题与解决
-
连接失败或闪退
- 检查 xRDP 服务:确保服务已启动:
sudo systemctl status xrdp或sudo service xrdp status。 - 确认 IP 和端口:再次确认 WSL IP 地址没有变化,并确保使用的是
3390端口。 - 尝试切换桌面:如果使用 GNOME 有问题,可以切换到更稳定的 Xfce 方案。
- 查看 xRDP 日志:检查
/var/log/xrdp.log文件,寻找错误线索。
- 检查 xRDP 服务:确保服务已启动:
-
WSL IP 地址变化 WSL2 的 IP 地址在系统重启后可能会改变。建议每次连接前都重新运行
ip addr show eth0 | grep inet获取最新 IP。也可以考虑在 Windows 的 hosts 文件中为 WSL 设置一个固定的主机名,但最稳妥的方式仍是每次连接前确认。 -
登录后黑屏
- Session 类型错误:在 xRDP 登录界面,确保 Session 选择的是
Xorg。 - 桌面环境未正确启动:检查
~/.xsession文件或/etc/xrdp/startwm.sh文件的配置是否正确指向了桌面环境(如startxfce4)。 - Wayland 兼容性:Ubuntu 24.04 默认使用 Wayland,可能与 xRDP 不兼容。可以尝试在 Ubuntu 登录界面(如果有)将桌面会话切换为 “Ubuntu on Xorg”。
- Session 类型错误:在 xRDP 登录界面,确保 Session 选择的是
如果仍然遇到困难,可以尝试重启 WSL:在 PowerShell 或 CMD 中运行 wsl --shutdown,然后重新启动 Ubuntu,再次尝试连接。
