U11上的X11转发错误,虽然它在Windows上运行

时间:2013-08-05 14:48:33

标签: ubuntu ssh x11 x11-forwarding

我有一个有趣的问题 - 在Windows上使用 Xming 我可以成功地将X11请求转发到我的客户端(PC)并运行应用程序。但是,我最近在我的电脑上安装了Ubuntu 13.04,不知怎的,我无法让它工作。

我的/ etc / ssh / ssh_config有以下几行:

Host *
ForwardAgent yes
ForwardX11 yes

我尝试使用以下命令进行连接:

ssh -X -v username@xxx.xxx.xxx.xxx 

详细输出显示:

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 个答案:

答案 0 :(得分:2)

我解决了 - 这是一个身份验证问题。在服务器上执行以下行解决了问题:

$ xauth add ${client_ip}:0 . ${hex_key}
xauth:  creating new authority file /homes/${username}/.Xauthority

其中${client_ip}是运行X服务器的客户端,${hex_key}是32个字符的十六进制字符串。然后在分配$DISPLAY env变量后,我现在可以成功连接。