Ubuntu 桌面 22.04 上的 RDP

Ubuntu 桌面 22.04 上的 RDP

我安装了 Ubuntu Desktop 22.04,想通过 RDP 或 VNC 连接。我找到了屏幕共享并启用了 RDP。我知道机器的 IP,所以我试了一下。嗯,它不起作用。

然后我发现需要安装 Xrdp 协议,所以我安装了它。仍然不起作用。我还读到它应该适用于 Windows 10/11 RDP,所以我尝试从同一网络使用 Windows 10 RDP,但仍然不起作用。

我可以使用pingUbuntu PC,这真是一件了不起的事。

有没有一个适当的解释告诉我我应该怎么做才能让它发挥作用?

答案1

安装 xrdp 会适得其反。

@DBoltons 的回答已经很有用,但缺少下面看到的屏幕截图。

在我的环境中,我有 4 个 Ubuntu 22.04 LTS 系统,我正尝试在这些系统上使 RDP 屏幕共享正常工作。到目前为止,我只成功了两个系统 - 而且两个系统都没有安装 xrdrp!

首先,你可能要注意,你需要正确的身份验证——你需要使用生成的密码 生成的密码

否则您可能会看到如下错误消息:

错误信息

在设置/关于我得到: 设置/关于

为了避免屏幕保护启动时会话自行断开连接,您可能需要更改“设置/隐私/屏幕”

屏幕共享

另请注意后续的屏幕共享问题:

截至 2022-11,您似乎可以通过 wayland 进行远程桌面共享,也可以通过 zoom 进行屏幕共享,但不能同时进行这两项操作!

这是我迄今为止检查过的链接列表——请注意,这些链接提供的一些信息可能会产生误导——截至 2022-11,情况似乎相当混乱。

答案2

最初回答这个问题时假设您确实需要 xrdp,下面仅供参考。不过,不使用 xrdp 可能是最佳选择。

gnome 内置的 rdp 功能可以工作,但身份验证存在问题。此处提供了一些可能的解决方案。

22.04 - 远程桌面共享身份验证密码每次重启都会更改

如果你确实希望 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 上使用远程桌面连接时出现以下错误可能有多种原因。让我们深入了解下面列出的三个类别。

由于以下原因之一,远程桌面无法连接到远程计算机:

  1. 未启用对服务器的远程访问
  2. 远程计算机已关闭
  3. 远程计算机在网络上不可用

确保远程计算机已打开并连接到网络,并且已启用远程访问。

  1. 检查服务器的远程访问是否启用。
    1. 使用 Ubuntu 22.04 及更高版本,检查设置>分享> 标题应被标记。
    2. 远程桌面>远程桌面应该打开。如果您想要远程控制,也请将其打开。
  2. 检查远程计算机是否已开启且已解锁。
    1. 检查计算机是否已打开。
    2. 检查计算机是否处于睡眠状态。(如果您想随时连接,请考虑关闭睡眠状态)。
    3. 检查计算机是否已连接到屏幕。GNOME 的远程桌面实现需要此操作。
    4. 检查计算机是否已解锁。GNOME 的远程桌面实现需要此操作。或者,安装允许锁定的远程桌面GNOME 扩展。(如果您之前没有安装过 GNOME Shell 扩展,请先安装扩展管理器,然后在该应用程序中搜索“允许锁定的远程桌面”)
  3. 检查网络。
    1. 检查您和服务器是否有有效的互联网连接。
    2. 检查您是否与远程服务器位于同一网络上。
      1. 如果您通过蜂窝设备连接,请确认您使用的是本地 WiFi,而不是移动数据。
      2. 如果您在本地网络上但连接到外部 VPN,请关闭 VPN。
    3. 检查远程服务器防火墙是否允许端口 3389 上的连接:sudo ufw allow from any to any port 3389 proto tcp

密码问题

如果由于密码错误而无法连接,请了解并检查以下几点:

  1. 检查您使用的密码是否与显示的密码相符设置>分享>远程桌面在“身份验证”下。
  2. 如果您在重启之前能够连接,但现在无法连接,则 Ubuntu 可能更改了密码。如果远程服务器设置为在启动时自动登录,则似乎会发生这种情况。请参阅这些答案或者另一组答案寻找可用的解决方法。

答案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 服务)。

相关内容