Ubuntu 上的 X11 转发错误,尽管它适用于 Windows
Posted
技术标签:
【中文标题】Ubuntu 上的 X11 转发错误,尽管它适用于 Windows【英文标题】:X11 Forwarding Error on Ubuntu, Though It Works On Windows 【发布时间】:2013-08-05 14:48:32 【问题描述】:我有一个有趣的问题 - 在 Windows 上使用 Xming 我可以成功地将 X11 请求转发到我的客户端 (PC) 并且可以运行应用程序。但是,我最近在我的 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:~$
【问题讨论】:
不是真正的编程问题,请尝试在SuperUser 或ServerFault 上提问 @user2062950 感谢您的重定向,我已将其克隆到超级用户 (superuser.com/questions/628480/…),我们也将其保留以供参考。 【参考方案1】:我解决了 - 这是一个身份验证问题。在服务器上执行以下行解决了这个问题:
$ xauth add $client_ip:0 . $hex_key
xauth: creating new authority file /homes/$username/.Xauthority
$client_ip
是运行 X 服务器的客户端,$hex_key
是 32 个字符的十六进制字符串。之后,在分配 $DISPLAY
环境变量后,我现在可以成功连接。
【讨论】:
以上是关于Ubuntu 上的 X11 转发错误,尽管它适用于 Windows的主要内容,如果未能解决你的问题,请参考以下文章
Cygwin/X x11 从 Raspberry Pi 转发到 Windows
OS X 10.12.3 和 X11 转发到 ubuntu 的问题
java 和 libGDX / LWJGL 游戏全屏尺寸错误,适用于 Ubuntu 上的多个显示器