如何在Windows Hyper-V中为Ubuntu 20.04设置xRDP?

我想知道如何在Windows Hyper-V中为Ubuntu 20.04设置xRDP?针对Ubuntu 18.04的教程似乎不起作用。我正在使用我下载的ISO文件。
这些是我使用的教程。它们基本上都说同样的事情...

这里有带声音的xrdp - https://techbloggingfool.com/2020/12/26/deploy-a-linux-vm-on-hyper-v-with-sound-20-04-edition/ - ns15
2个回答

显然,微软尚未为20.04版本添加支持。在GitHub上有一个拉取请求,但尚未合并。不过,你可以使用它。
要为Ubuntu 20.04 LTS设置xRDP,请按照以下步骤进行操作:
  1. 如果您已启用“自动登录”,请禁用它。

  2. 打开终端并输入以下命令。

    wget https://raw.githubusercontent.com/Hinara/linux-vm-tools/ubuntu20-04/ubuntu/20.04/install.sh
    sudo chmod +x install.sh
    sudo ./install.sh
    
  3. 在运行脚本后,关闭虚拟机。在管理员权限的 PowerShell 提示符下执行以下命令:

    Set-VM -VMName <your_vm_name> -EnhancedSessionTransportType HvSocket
    
  4. 启动虚拟机并连接。您将看到一个连接提示窗口,询问屏幕分辨率--这表示一切安装正确。 vmconnect

  5. 这将带您进入 Xorg 登录界面。这表示您已成功建立连接并且 xrdp 服务正在运行。登录以开始会话。 xrdplogin


这对我来说几乎可以工作。我可以看到一个带有我的名字的登录会话。当我将鼠标悬停在HyperV窗口上时,Windows光标会隐藏起来。然而,在Linux桌面上,光标不会移动,我无法使其接收点击事件。当我继续移动鼠标时,Windows光标再次出现在窗口外。 我可能缺少一些鼠标驱动程序模块,但是缺少哪个呢? 底部的状态图标显示为“键盘已捕获”和“鼠标未捕获”,我无法更改它们。Ctrl-Alt-右箭头没有任何反应。 - Jon Watte
我正在处理敏感数据,所以你知道这个设置的安全性吗?也就是说,这会将我的虚拟机暴露在公共互联网上,甚至通过RDP连接暴露给我的组织网络吗?还是只是我的本地计算机,也就是主机操作系统Windows 10? - rize
我还要补充一点,它与快速创建的镜像不太兼容。至少对我来说是这样,而且我并不是唯一一个有这个问题的人(参见此链接)。 - Stefan Golubović
我到达了最后的截图,登录后只看到一个黑屏。 - JimLohse
@JimLohse 在Ubuntu安装过程中是否启用了自动登录功能? - VidathD
谢谢,就是这样。在 LXQt 中,根据 https://askubuntu.com/a/1124789/471065 的建议,我需要编辑 /etc/sddm.conf.d/autologin.conf 文件来关闭自动登录。 - JimLohse
无法理解为什么,但这个步骤在我的情况下不起作用。我按照每一步去做了,但没有任何成功。 - EM90
@EM90 你能详细说明一下“不起作用”的具体情况吗? - VidathD
是的:我只是在上面的屏幕输入登录凭据后,会出现一个黑屏(最多只有1秒钟!),然后连接就断开了。 - EM90
暂时来说,我决定回到可靠的Ubuntu 18.04,它非常适合我的当前需求...不过,如果你能给我更多的见解,我将非常感激! - EM90
我发现我的虚拟机每小时会出现断线问题,按照以下步骤似乎解决了这个问题:hypervmanager->[yourvm]->hardware->network->hardware acceleration -> VMQ ... 将其设置为关闭。如此处所述:https://dmunified.com/2016/05/16/hyper-v-vms-losing-network-connectivity-beware-vmq/ - andrew pate
1由于某种原因,在我的情况下,xRDP在重新启动后无法启动其服务。它显示了一个错误消息,说地址已经被使用(或类似的内容)。解决问题的方法是将/etc/xrdp/xrdp.ini中的端口行从port=3389更改为port=vsock://-1:3389,并设置use_vsock=false - Tim Wißmann

我想在佐助·宇智波的精彩帖子中添加一个额外的步骤:
完成第2步后,虚拟机终端会提示您重新启动虚拟机,只需输入$reboot即可完成。
这样做将使虚拟机处于“保存”状态,需要按下“启动”按钮才能重新打开。
重新启动后,请返回虚拟机终端并再次运行第三个命令以完成安装过程,否则其余步骤将无法正常工作!
sudo ./install.sh

当你看到以下内容时,你会知道安装已成功完成:
安装完成。重新启动您的机器以开始使用XRDP。
对于承担微软缺乏快速PR合并重任的Sasuke和Hinara表示赞赏!

点赞。我认为微软存档了他们的代码库 ‍♂️。 - VidathD