2

我按照以下说明使用 VcXsrv 在 Windows 10 上设置 X11 转发从我的 WSL2 到主机,基于此答案:如何在 WSL2 上设置工作 X11 转发

export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
export LIBGL_ALWAYS_INDIRECT=1

我在启动 VcXsrv 时允许公共访问,还关闭了我的防火墙只是为了测试它是否有效。

mustafa@DESKTOP-MGJG0RL:~$ xeyes
Error: Can't open display: 172.25.32.1:0

有没有我错过的步骤?

4

3 回答 3

1

我遇到过同样的问题。在我的情况下,问题是我禁用了专用网络的 Windows 防火墙,假设带有 WSL 2 虚拟机的网络将被视为专用网络。但实际上事实证明,这个网络是作为公共网络处理的,因此禁用私有网络的防火墙并没有帮助。所以简短的回答是:设置适当的防火墙规则,而不是尝试禁用防火墙的快捷方式以便快速尝试。

于 2020-07-21T19:09:09.550 回答
1

不要禁用防火墙,而是尝试添加此规则(管理员 PowerShell)

New-NetFirewallRule -DisplayName "WSL" -Direction Inbound  -InterfaceAlias "vEthernet (WSL)"  -Action Allow
于 2020-10-21T05:12:26.507 回答
-1

我能够解决它:

  1. 在 sshd_config 文件中
X11UseLocalhost yes
X11Forwarding yes
  1. 改编自这个答案https://superuser.com/a/1476160/1014728

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0

  1. 使用 VcXsrv。-ac在附加参数字段中设置

  2. xhost +如果出现no protocol found错误则运行

  3. 运行 xeyes 进行测试

于 2020-08-19T11:11:36.703 回答