我有一个有趣的问题 - 在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:~$
答案 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变量后,我现在可以成功连接。