我有一个有趣的问题 - 在 Windows 上使用西明我可以成功将 X11 请求转发到我的客户端(PC),并且可以运行应用程序。但是,我最近在 PC 上安装了 Ubuntu 13.04,但不知何故我无法让它工作。
我的 /etc/ssh/ssh_config 有以下几行:
Host *
ForwardAgent yes
ForwardX11 yes
我尝试使用以下命令进行连接:
ssh -X -v [email protected]
详细输出显示:
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:~$
答案1
我解决了它 - 这是一个验证问题。在服务器上执行以下行可解决该问题:
$ xauth add ${client_ip}:0 . ${hex_key}
xauth: creating new authority file /homes/${username}/.Xauthority
其中${client_ip}
,运行 X 服务器的客户端${hex_key}
是 32 个字符的十六进制字符串。之后,在$DISPLAY
分配环境变量后,我现在可以成功连接。