我安装了 Ubuntu Desktop 22.04,想通过 RDP 或 VNC 连接。我找到了屏幕共享并启用了 RDP。我知道机器的 IP,所以我试了一下。嗯,它不起作用。
然后我发现需要安装 Xrdp 协议,所以我安装了它。仍然不起作用。我还读到它应该适用于 Windows 10/11 RDP,所以我尝试从同一网络使用 Windows 10 RDP,但仍然不起作用。
我可以使用ping
Ubuntu PC,这真是一件了不起的事。
有没有一个适当的解释告诉我我应该怎么做才能让它发挥作用?
答案1
安装 xrdp 会适得其反。
@DBoltons 的回答已经很有用,但缺少下面看到的屏幕截图。
在我的环境中,我有 4 个 Ubuntu 22.04 LTS 系统,我正尝试在这些系统上使 RDP 屏幕共享正常工作。到目前为止,我只成功了两个系统 - 而且两个系统都没有安装 xrdrp!
首先,你可能要注意,你需要正确的身份验证——你需要使用生成的密码
否则您可能会看到如下错误消息:
为了避免屏幕保护启动时会话自行断开连接,您可能需要更改“设置/隐私/屏幕”
另请注意后续的屏幕共享问题:
截至 2022-11,您似乎可以通过 wayland 进行远程桌面共享,也可以通过 zoom 进行屏幕共享,但不能同时进行这两项操作!
这是我迄今为止检查过的链接列表——请注意,这些链接提供的一些信息可能会产生误导——截至 2022-11,情况似乎相当混乱。
- https://www.omgubuntu.co.uk/2022/06/use-ipad-as-second-monitor-ubuntu-22-04
- https://www.reddit.com/r/gnome/comments/uz5as7/gnome_has_made_it_super_simple_to_extend_your/
- https://ubuntuhandbook.org/index.php/2022/04/ubuntu-22-04-remote-desktop-control/
- https://bugs.launchpad.net/ubuntu/+bug/1995201
- https://www.digitalocean.com/community/tutorials/how-to-enable-remote-desktop-protocol-using-xrdp-on-ubuntu-22-04
- https://stackoverflow.com/questions/70042160/get-request-ssl-choose-client-versionunsupported-protocol
答案2
最初回答这个问题时假设您确实需要 xrdp,下面仅供参考。不过,不使用 xrdp 可能是最佳选择。
gnome 内置的 rdp 功能可以工作,但身份验证存在问题。此处提供了一些可能的解决方案。
如果你确实希望 xrdp 正常工作,下面的答案与故障排除有关。不过这不是一条简单的路。
进一步故障排除:如所述在 xrdp github 页面上的 1777 问题中,在 xrdp 服务器机器上运行以下命令来检查 xrdp 是否能够与 sesman 通信:
sudo ps -e -o pid,netns,命令| grep xrdp
sudo ss-alp'运动=3350'
sudo nmap -p 3350 127.0.0.1
您特别在寻找以下东西:
3350/tcp 关闭
Netid 状态 Recv-Q Send-Q 本地地址:端口 对等地址:端口 进程
tcp LISTEN 0 2 [::1]:3350 [::]:* 用户:(("xrdp-sesman",pid=2760,fd=7))
综合起来,这些表明 sessman 正在监听 IPv6(如 [::1]:3350 所示),而不是您主机的 IPv4 地址,并且 IPv4 上的 3350 端口没有响应。如果这显示您的正确 IPV4 地址并且 3350 已打开,则您遇到了其他问题。
建议的解决方案是重建不带 --enable-ipv6 的 xrdp,以获得不会被 IPv6 混淆的版本。
如果您想走这条路线,可以在此处查看更多详细信息。 https://github.com/neutrinolabs/xrdp/issues/1855
尽管我在 x86_64 上使用 5.15 内核,但我还是遇到了同样的问题。这里的其他建议都没有帮助。服务正在运行,但无法正确通信。Xrdp 无法与 xrdp-sesman 通信,因此登录不起作用,只是长时间停留在空白屏幕上。
目前正在努力修复此问题;Xrdp 已实施了新的通信结构,应该可以解决此问题和其他问题。目前尚不清楚它是否包含在当前版本中,Ubuntu 存储库中的版本中肯定没有。虽然没有修复,但对我来说,了解它为什么会损坏是有帮助的。您可能会等待修复。
另一种选择是暂时使用 x2go。它不适用于 gnome,因此您必须安装另一个桌面管理器。我安装了 mate,使用 x2go,我现在有了远程 GUI 连接。这不是一个理想的解决方案,但如果您不想重新编译自己的二进制文件,这是一个占位符。
答案3
在 Windows 上使用远程桌面连接时出现以下错误可能有多种原因。让我们深入了解下面列出的三个类别。
由于以下原因之一,远程桌面无法连接到远程计算机:
- 未启用对服务器的远程访问
- 远程计算机已关闭
- 远程计算机在网络上不可用
确保远程计算机已打开并连接到网络,并且已启用远程访问。
- 检查服务器的远程访问是否启用。
- 使用 Ubuntu 22.04 及更高版本,检查设置>分享> 标题应被标记。
- 远程桌面>远程桌面应该打开。如果您想要远程控制,也请将其打开。
- 检查远程计算机是否已开启且已解锁。
- 检查计算机是否已打开。
- 检查计算机是否处于睡眠状态。(如果您想随时连接,请考虑关闭睡眠状态)。
- 检查计算机是否已连接到屏幕。GNOME 的远程桌面实现需要此操作。
- 检查计算机是否已解锁。GNOME 的远程桌面实现需要此操作。或者,安装允许锁定的远程桌面GNOME 扩展。(如果您之前没有安装过 GNOME Shell 扩展,请先安装扩展管理器,然后在该应用程序中搜索“允许锁定的远程桌面”)
- 检查网络。
- 检查您和服务器是否有有效的互联网连接。
- 检查您是否与远程服务器位于同一网络上。
- 如果您通过蜂窝设备连接,请确认您使用的是本地 WiFi,而不是移动数据。
- 如果您在本地网络上但连接到外部 VPN,请关闭 VPN。
- 检查远程服务器防火墙是否允许端口 3389 上的连接:
sudo ufw allow from any to any port 3389 proto tcp
密码问题
如果由于密码错误而无法连接,请了解并检查以下几点:
答案4
sudo apt update sudo apt install xrdp。安装后,在 /etc/xrdp 中有一个它的配置。
您需要将 xrdp 用户添加到 ssl-cert 组以便它访问证书:sudo adduser xrdp ssl-cert 之后您需要重新启动 xrdp 服务:sudo systemctl restart xrdp
此后,您可以使用 rdp 客户端连接到服务器(ip 或使用 FQDN 名称设置的 DNS 服务)。