我有一个有趣的问题 - 在 Windows 上使用 Xming 我可以成功地将 X11 请求转发到我的客户端 (PC) 并可以运行应用程序。然而,我最近在我的电脑上安装了 Ubuntu 13.04,但不知何故我无法让它工作。
我的/etc/ssh/ssh_config 有以下几行:
Host *
ForwardAgent yes
ForwardX11 yes
我尝试使用以下命令进行连接:
ssh -X -v <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5c292f392e323d31391c242424722424247224242472242424" rel="noreferrer noopener nofollow">[email protected]</a>
详细输出显示:
X11 forwarding request failed on channel 0
我还执行了xhost +
来禁用客户端上的所有访问控制,但奇怪的是在我的客户端上DISPLAY
变量设置为:0
并且我无法将其替换为其他任何内容,例如 localhost:0
甚至 $Local_IP:0
,当我这样做时,X11 将无法工作,请参阅示例下面的输出 - 我怀疑这可能会导致答案:
koray@koray-Latitude:~$ export DISPLAY=localhost:0 # $localip:0 doesn't work either
koray@koray-Latitude:~$ emacs
Display localhost:0 unavailable, simulating -nw
koray@koray-Latitude:~$
最佳答案
我解决了它 - 这是一个身份验证问题。在服务器上执行以下行解决了该问题:
$ xauth add ${client_ip}:0 . ${hex_key}
xauth: creating new authority file /homes/${username}/.Xauthority
其中 ${client_ip}
是运行 X 服务器的客户端,${hex_key}
是 32 个字符的十六进制字符串。之后,在分配 $DISPLAY
环境变量后,我现在可以成功连接。
关于ubuntu - 尽管可以在 Windows 上运行,但 Ubuntu 上的 X11 转发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18061121/