X11可以通过SSH隧道转发吗

sle*_*epy 7 ssh windows xforwarding x11

我通过 ssh 隧道与服务器通信,通过 Putty 配置。

最近,我试图通过它转发 X11,但它不起作用。

有没有人这样工作?

用谷歌搜索,但没有找到任何东西。

Lam*_*ert 14

是的,这可以通过几种不同的方式实现,但您需要一个适用于 Windows 的 X 窗口服务器。X windows 服务器的一些选项是 XManager、XMing 和 MobaXterm。在 Windows 上运行 X 服务器后,您可以在设置配置参数后使用 PuTTY 连接到您的主机:

Connection/SSH/X11
  Enable X11 forwarding
  X display location: localhost:10.0
Run Code Online (Sandbox Code Playgroud)

10.0 的位置取决于 X Window 服务器正在侦听的内容。

当您配置 X Window 服务器和 PuTTY 并登录到您的主机时,DISPLAY如果DISPLAY设置了 a,您可以验证变量:

$ echo $DISPLAY
localhost:10.0
Run Code Online (Sandbox Code Playgroud)

然后尝试类似的操作xclock,看看 X11 转发是否有效:

# xclock &
Run Code Online (Sandbox Code Playgroud)

除了使用 X11 的另一种方法sshDISPLAY手动设置变量以指向 IP 地址,例如:

# export DISPLAY=192.168.0.1:0
Run Code Online (Sandbox Code Playgroud)

看看它是否有效:

# xclock &
Run Code Online (Sandbox Code Playgroud)

通过这种方式,X 应用程序被(重新)定向到输出到远程 X Window 服务器。

注意:请记住,X11 协议不是为在慢速网络 (WAN) 连接上运行而设计的。X 应用程序在慢速连接上使用时可能会非常慢。考虑使用-C(compression) 开关,sshssh会话上使用压缩以稍微加快速度。