在我的客户端电脑上,我运行的是 Windows 10,并且安装了 XMing 和 Xming 字体。
我正在运行 Putty,并已将其配置为启用 X11 转发。我尝试将 X 显示位置留空(默认),并尝试使用值:0.0
。
在我的服务器上,我在 AWS 上运行 Ubuntu。我编辑了 /etc/ssh/ssh_config 文件以包含以下两行:
ForwardX11 yes
ForwardX11Trusted yes
我还使用安装了 xauthsudo apt-get install xauth
每当我尝试运行应用程序时,xterm &
或者xclock
我收到相同的错误:
PuTTY X11 proxy: Unsupported authorisation protocol
Error: Can't open display: localhost:10.0
我在网上搜索了一下,发现很多人报告了同样的问题,但没有明确的解决办法,至少对我来说是有效的。还有人解决了这个问题吗?
答案1
我终于找到了解决方案。问题似乎出在 .Xauthority 文件上。该文件的所有者是 root(见下文)。
-rw------- 1 root root 124 May 13 18:19 .Xauthority
-rw------- 2 ubuntu ubuntu 0 May 14 19:56 .Xauthority-c
-rw------- 2 ubuntu ubuntu 0 May 14 19:56 .Xauthority-l
我尝试删除该文件并重新启动 xauth 和 ssh,但没有成功,因此我使用 sudo apt-get purge xauth 完全删除了 xauth。然后,我删除了主目录中的所有 .Xauthority 文件。然后,我重新安装了 xauth,再次使用 sudo apt-get install xauth。新的 .Xauthority 文件归 ubuntu 所有。
-rw------- 1 ubuntu ubuntu 100 May 14 20:27 .Xauthority
我最终用 X 显示位置 :localhost.0 和 :0.0 测试了 Putty,但似乎没什么关系,因为两者都有效。然后我用 xclock & 测试,最后它就弹出来了。