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

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

我正在尝试在 WSL2 中使用 GUI。我按照说明操作这里一开始运行良好。重启笔记本电脑后,我打开 Ubuntu 终端并输入:

sudo /etc/init.d/xrdp start

在“远程”机器上启动 xrdp。然后我检查了状态:

service xrdp status

* xrdp-sesman is running
* xrdp in running

因此,当我进入 Windows 远程桌面并连接到时localhost:3390,出现此错误:

1) Remote access to the server is not enables
2) The remote computer is turned off
3) The remote computer is not available on the network

在 Ubuntu 终端中,我检查了一下/etc/xrdp/xrdp.ini,它显示了port=3390,所以我知道我指向的是正确的端口。由于 Ubuntu 终端处于活动状态,我假设远程计算机已打开,所以我不知道发生了什么。我按照手动操作这里但这并没有帮助。

答案1

在 WSL2 中,实例在 Hyper-V VM 中运行,该 VM 具有虚拟 NIC,该虚拟 NIC 在 Windows 主机后面进行 NAT。但是,Windows 主机本身应该通过 直接访问实例中运行的服务localhost。WSL 似乎会进行一些自动端口转发,但仅限于从本地 Windows 主机到 WSL 实例。这将不是可以从网络上的其他计算机(甚至是同一台 Windows 主机上的其他虚拟机)工作。但至少您localhost现在只是在使用。

话虽如此,这种自动的本地主机端口转发有时会停止工作,甚至(有时尤其是)在重启后。 这通常是由于休眠或 Windows 快速启动(也是休眠的一种形式)造成的。请参阅这个答案在 Stack Overflow 上获取更多信息。

考虑到您最初让它运行,然后在重新启动后它停止了,我希望这就是您所看到的。

因此,首先尝试退出任何 WSL 实例,然后运行:

wsl --shutdown

然后启动实例并再次尝试 RDP。

如果可行,请检查快速启动是否已启用,如果已启用,请禁用它。并避免休眠。或者wsl --shutdown至少在休眠或关机/开机后。

如果它不起作用,那么我们需要更仔细地观察实际xrdp服务以了解发生了什么。

相关内容