远程桌面无法连接到 Hyper-V Ubuntu v22.04 客户机

远程桌面无法连接到 Hyper-V Ubuntu v22.04 客户机

我的主机系统是启用了 Hyper-V 的 Win 11 Pro,也使用“增强会话模式”。

我手动安装了几个 Ubuntu 版本(我下载了 ISO 并运行安装),但它们总是有问题。所以这次我使用了 Quick Create 和最新的 Ubuntu 长期支持版本(22.04)。我希望它能更好地工作,因为它是经过精心策划的。

当我从 Hyper-V 管理器启动它时,它连接得很好。它使用 XRDP 协议和 Xorg 会话。哇!

现在,在我手动安装的所有 Ubuntu VM 上,从 Hyper-V 管理器启动时我从未见过该 XRDP 屏幕。我仅有的当我尝试从远程桌面连接时,我看不到它。所以我假设这次它比平时工作得更好。

但是当我尝试从远程桌面连接时,出现错误“远程桌面无法连接到远程计算机”。

我拼命在 Google 上搜索,尝试了很多看似毫无意义的事情,并证明那些事情毫无意义。到目前为止,我所做的一切都没有起到作用。

对于远程桌面的“计算机”字段,我尝试使用实际的计算机名称、IPV4 地址和 IPV6 地址。但都不起作用。

但是...我可以从主机 ping 到客户机,也可以从客户机 ping 到主机。

XRDP 显然安装在客户 Ubuntu 系统中。

我不知道是什么原因导致它无法连接。

答案1

我有一台装有 VMware 的计算机,另一台装有 Hyper-V。Hyper-V 系统同时装有 Ubuntu 和 Kali Guest,我可以使用 RDP 从第一台计算机连接到它们。

XRDP 显然安装在客户 Ubuntu 系统中。

(1)那很好(有必要)。

现在确保 XRDP 已启用。sudo systemctl enable xrdp

然后确保 XRDP 已启动。sudo systemctl start xrdp

您可能希望检查 XRDP 状态以确保它正在运行。

(2)给 Hyper-V 中的 Ubuntu Guest 提供一个外部交换机(大多数 VM 应用程序中的桥接网络)是个好主意(最好)。这样另一台计算机上的 RDP 就可以轻松找到 Ubuntu Guest。

关闭 Guest,在 Hyper-V 中创建一个新的外部交换机。转到 Hyper-V 中的 Guest 设置并选择外部交换机。

启动客户机并确保外部交换机正常工作。

(3)重新启动 Guest,启动 XRDP 服务(每次 Linux 重新启动时都需要重新启动。

现在注销 Linux 但保持其运行。

转到另一台机器并进入 RDP。应该可以工作。上述步骤对我来说非常完美。

答案2

这似乎对我有用......

首先,我必须在 Hyper-V 设置中禁用“允许增强会话模式”。这实际上可能是唯一需要做的事情,但下一步还算不错,所以...

我编辑了 /etc/xrdp/xrdp.ini,使 PORT 具有多个值:
port=vsock://-1:3389 tcp://:3389

这样我就可以同时通过 RDP 和 Hyper-V 管理器进行连接!我认为你可以登录分离帐户,但尝试两次登录同一个帐户将会失败。

得到这个建议的是https://github.com/neutrinolabs/xrdp/issues/1260

我对这个解决方法不太满意,但也许这只是悲观主义。如果有人有更好的可行建议,我会很乐意给予他们赞扬。

答案3

在(同样)“... 拼命在 Google 上搜索...”并尝试了大量方法之后,我发现 Ubuntu 22.04 现在对 Microsoft RDP 具有原生支持。

我所要做的就是进入 Ubuntu vm 的“设置”,在“共享”下打开“远程桌面”并启用“远程控制”。太棒了!终于成功了!

本文图片:Ubuntu 22.04 终于支持通过 MS RDP 协议进行远程桌面控制 | UbuntuHandbook

[现在,我只是不确定我尝试了所有其他的东西会破坏什么 ;)]


更新:不确定为什么要投反对票;但是...在创建新的虚拟机并按照只需这些步骤,这没有用——所以我尝试的许多其他方法之一可能已经解决了这个问题。我有一些想法,所以一旦我找到“关键”,我就会更新这个答案……(或者如果我很快就找不到关键,就删除它)

相关内容