无法在 WSL bash 中使用 ssh 隧道连接到 X 显示器

无法在 WSL bash 中使用 ssh 隧道连接到 X 显示器

我在 Windows 上安装了 VcXsrv,然后运行

ssh -NfXY -t -o ServerAliveInterval=30 -L 2121:PCNAME:21 -L 2020:PCNAME:20 -L 2222:PCNAME:22 USERNAME@SERVER

通过大学服务器建立隧道连接到我的工作站。

我可以xeyes在本地 WSL bash 中运行,但它会 xeyes失败,Error: Can't open display: 0.0 并且如果我将 DISPLAY 设置为localhost:0.0

例如

[local WSL]> echo $DISPLAY
:0
[local WSL]> xeyes
"runs" 
[local WSL]> ssh -NfXY -t -o ServerAliveInterval=30 -L 2121:PCNAME:21 -L 2020:PCNAME:20 -L 2222:PCNAME:22 USERNAME@SERVER
[workstation]> export DISPLAY=localhost:0.0
Error: Can't open display: localhost:0.0
[workstation]> export DISPLAY=:0.0    
[workstation]> xeyes
"hangs with no output"

有人可以帮忙吗?

localhost:11.0编辑:我可以在工作站上使用另一台电脑顺利运行它。如果我xeyes从原来的电脑运行localhost:11.0,它会使用另一台电脑!

答案1

第一的,您需要ForwardX11在客户端上启用X11Forwarding在 中的远程主机上/etc/ssh/sshd_config

然后尝试没有DISPLAY首先在工作站/远程机器上进行调整。只有DISPLAY在确保其他所有设置都正确无误后才设置变量。您不必设置它,但这是可能的。

我相信该命令“永远挂起”,因为它显示在远程机器上(您可能看不到)。

有时简化事情并尝试一次解决一个问题是件好事。您是否尝试过放弃端口转发和其他一切,并专注于在简单设置中让 X11 转发正常工作?


概括ForwardX11:在客户端上启用 Asker并DISPLAY=localhost:0.0仅在初次尝试后设置

connect /tmp/.X11-unix/X0: Connection refused Error: Can't open display: localhost:13.0

相关内容