通过 RDP 从 Windows 远程访问 Ubuntu:完全指南
配置 Ubuntu 以便在锁屏状态下也能进行 RDP 连接
本指南将详细介绍如何在 Ubuntu 系统上设置 Remote Desktop Protocol (RDP),以便您可以从 Windows 机器进行远程访问。我们还将特别关注如何在 Ubuntu 处于锁屏状态下也能保持 RDP 连接的能力。
核心要点提炼
- Ubuntu 的内置远程桌面功能: Ubuntu 22.04 及更新版本包含内置的远程桌面功能,支持 RDP 和 VNC 协议,可通过“设置”>“共享”进行配置。
- 使用 XRDP 实现 Windows 兼容性:对于旧版本的 Ubuntu 或需要增强兼容性,安装 XRDP 服务器是实现从 Windows 顺利进行 RDP 连接的常用方法。
- 解决锁屏下的 RDP 连接问题:默认情况下,Ubuntu 在锁屏时会断开 RDP 连接。通过安装并启用“Allow Locked Remote Desktop”GNOME Shell 扩展,可以解决此问题。
理解远程桌面协议 (RDP) 在 Ubuntu 中的应用
Remote Desktop Protocol (RDP) 是一种由 Microsoft 开发的网络协议,用于在网络连接上提供图形用户界面的远程访问。虽然 RDP 是 Windows 的原生协议,但通过安装兼容的服务器软件(如 XRDP),Ubuntu 也可以接受 RDP 连接。与 SSH 提供命令行访问不同,RDP 提供了完整的图形桌面环境,这对于习惯于可视化操作的用户来说非常友好。
Ubuntu 提供了一些内置的远程桌面解决方案,同时也可以通过安装第三方软件来增强功能或提高兼容性。对于从 Windows 客户端连接到 Ubuntu,RDP 通常是许多用户的首选,因为它在 Windows 中是原生支持的。
Ubuntu 内置的远程桌面功能
自 Ubuntu 22.04 版本起,Ubuntu 集成了对 RDP 协议的支持,可以通过系统设置轻松启用。这提供了一个便捷的方式来实现基本的远程桌面功能,无需安装额外的第三方软件。
启用内置远程桌面
要在 Ubuntu 22.04 或更高版本上启用内置的远程桌面功能,请按照以下步骤操作:
- 打开“设置”应用程序。
- 导航到“共享”选项。
- 在顶部,确保“共享”已启用。
- 选择“远程桌面”。
- 确保“远程桌面”和“远程控制”都已开启。
- 记下显示的远程桌面地址,通常是
ms-rd://[您的 Ubuntu 计算机名或 IP 地址]。
通过这种方式,您就可以使用 Windows 的远程桌面连接客户端连接到 Ubuntu 机器了。
以下是一张可能与 Ubuntu 远程桌面设置相关的截图,展示了共享选项:
Ubuntu 桌面共享设置示例
使用 XRDP 实现更广泛的兼容性
对于旧版本的 Ubuntu 或者如果您在使用内置功能时遇到问题,安装 XRDP 是一个成熟的解决方案。XRDP 是 Microsoft RDP 的开源实现,允许您从 Windows 客户端连接到 Ubuntu 桌面。
安装和配置 XRDP
安装 XRDP 通常涉及以下步骤:
- 打开终端。
- 更新软件包列表:
sudo apt update - 安装 XRDP:
sudo apt install xrdp - 安装完成后,XRDP 服务会自动启动。您可以通过以下命令检查其状态:
sudo systemctl status xrdp - 确保 XRDP 服务已启用,以便在系统启动时自动运行:
sudo systemctl enable xrdp - 配置防火墙允许 RDP 流量(默认端口 3389):
sudo ufw allow 3389/tcpsudo ufw reload - 为了避免某些权限问题,可以将 xrdp 用户添加到 ssl-cert 组:
sudo adduser xrdp ssl-cert - 重启 XRDP 服务以应用更改:
sudo systemctl restart xrdp
安装 XRDP 后,您就可以从 Windows 机器使用远程桌面连接客户端,输入 Ubuntu 机器的 IP 地址或主机名进行连接。
以下是一个关于如何使用 XRDP 进行远程桌面的视频教程:
视频:如何使用 XRDP 连接到 Ubuntu 桌面
解决 Ubuntu 锁屏状态下的 RDP 访问问题
默认情况下,GNOME Shell (Ubuntu 桌面环境) 在屏幕锁定后会阻止远程桌面连接。这意味着,如果您的 Ubuntu 机器锁屏了,正在进行的 RDP 会话会断开,或者新的连接会失败。这通常是出于安全考虑,但对于需要持续远程管理的场景可能会造成不便。
要解决这个问题,您可以使用一个 GNOME Shell 扩展,该扩展允许在屏幕锁定时也接受远程桌面连接。
安装并启用 "Allow Locked Remote Desktop" 扩展
“Allow Locked Remote Desktop”是一个专门用于解决此问题的 GNOME Shell 扩展。按照以下步骤安装和启用它:
- 打开终端。
- 安装 GNOME Shell 扩展管理器(如果尚未安装):
sudo apt install gnome-shell-extension-manager - 安装 dconf-editor(如果尚未安装):
sudo apt install dconf-editor - 启动 Extension Manager 或访问 GNOME Shell Extensions 网站 (https://extensions.gnome.org/)。
- 搜索 “Allow Locked Remote Desktop”。
- 安装并启用该扩展。
安装并启用此扩展后,即使 Ubuntu 机器处于锁屏状态,您也应该能够通过 RDP 进行连接。请注意,这会降低安全性,因为任何知道凭据的人都可以在锁屏状态下访问您的桌面。请谨慎使用此功能,并确保您的网络和 Ubuntu 用户账户都设置了强密码。
另一个相关的解决方案可能涉及调整自动登录和密钥环设置,以避免在 RDP 会话断开后需要物理登录才能重新连接,但这通常会进一步降低安全性。
连接到 Ubuntu
一旦 Ubuntu 端的 RDP 服务器(内置或 XRDP)配置完毕,并且您已经处理了锁屏访问的问题(如果需要),您就可以从 Windows 机器进行连接了。
使用 Windows 远程桌面连接客户端
在 Windows 机器上,打开“远程桌面连接”应用程序。您可以在开始菜单中搜索“Remote Desktop Connection”来找到它。
- 在“计算机”字段中,输入您的 Ubuntu 机器的 IP 地址或主机名。
- 点击“连接”。
- 系统将提示您输入用户名和密码。输入您的 Ubuntu 用户账户的凭据。
- 点击“确定”进行连接。
如果一切顺利,您将看到您的 Ubuntu 桌面出现在 Windows 机器上的一个窗口中。
以下是 Windows 远程桌面连接客户端的截图示例:
Windows 远程桌面连接客户端
安全性考虑与进阶配置
启用远程桌面访问会暴露您的系统给潜在的威胁。确保您的连接是安全的至关重要。使用强密码是基本要求,同时还可以考虑其他安全措施,例如使用 SSH 隧道为 RDP 连接增加一层加密,或者限制只有特定 IP 地址才能连接到 RDP 端口。
如果您需要从本地网络外部访问 Ubuntu 机器,您可能需要在路由器上配置端口转发。然而,直接通过互联网暴露 RDP 端口是不安全的,强烈建议使用 VPN 或 SSH 隧道等更安全的方法进行远程访问。
比较 VNC 和 RDP
除了 RDP,VNC (Virtual Network Computing) 也是一种常用的远程桌面协议。Ubuntu 内置的远程桌面功能也支持 VNC。下表总结了 VNC 和 RDP 在 Ubuntu 远程访问方面的主要区别:
| 特性 | RDP (通过内置功能或 XRDP) | VNC (通过内置功能或其他 VNC 服务器) |
|---|---|---|
| 协议来源 | Microsoft (XRDP 是开源实现) | 开源 RFB 协议 |
| 原生支持 (Ubuntu) | Ubuntu 22.04+ 内置支持 | Ubuntu 内置支持 (通常) |
| 原生支持 (Windows) | 是 | 需要 VNC 客户端 |
| 性能 | 通常更流畅,尤其是在低带宽下 | 可能会有延迟,特别是当屏幕更新频繁时 |
| 音频支持 | 通常支持 | 取决于实现 |
| 连接类型 | 可以连接到当前会话或创建新会话 | 通常连接到当前活动的桌面会话 |
选择哪种协议取决于您的具体需求和偏好。对于 Windows 用户来说,RDP 通常感觉更自然,因为它与 Windows 的远程桌面体验相似。
其他远程访问工具
除了 RDP 和 VNC,还有其他一些远程访问工具可供选择,例如 TeamViewer, AnyDesk, 和 Apache Guacamole。这些工具通常提供更简单的设置、跨平台兼容性和额外的功能,但也可能涉及许可费用或依赖于第三方服务。
常见问题解答
问:为什么我的 RDP 连接在 Ubuntu 锁屏后断开?
答:这是 GNOME Shell 的默认行为,出于安全原因阻止在锁屏时进行远程桌面连接。您需要安装并启用“Allow Locked Remote Desktop”GNOME Shell 扩展来解决此问题。
问:我需要安装 XRDP 吗?Ubuntu 22.04 不是内置了 RDP 支持吗?
答:Ubuntu 22.04 及更高版本确实内置了基本的 RDP 支持,可以通过系统设置启用。然而,有些用户在连接稳定性和兼容性方面可能仍然倾向于使用 XRDP,尤其是在从 Windows 客户端连接时。如果您使用的是旧版本的 Ubuntu,或者内置功能无法满足您的需求,那么安装 XRDP 是必要的。
问:如何在 Ubuntu 中查找我的 IP 地址?
答:您可以在终端中运行 ip a 或 ifconfig 命令来查找您的 Ubuntu 机器的 IP 地址。通常,您需要寻找与您的网络接口(例如 eth0 或 wlan0)关联的 IP 地址。
问:从外部网络访问 Ubuntu 机器安全吗?
答:直接通过互联网暴露 RDP 端口是不安全的,因为攻击者可能会扫描并尝试连接到这些端口。如果您需要从外部网络访问,强烈建议使用 VPN 或 SSH 隧道等更安全的连接方式。
参考资料
Last updated May 13, 2025