所以我有Ubuntu无头服务器,我安装了docker。 我想在Docker容器中运行GUI应用程序,当我通过ssh连接时,在我的mac上看到它们。
我按照here
的说明操作我做了什么: 1)在mac上安装xQuartz 得到了auth list cookie:
Cyrils-MacBook-Pro.local/unix:0 MIT-MAGIC-COOKIE-1 02f42525dec4a8b4ee2xxxxxx
2)通过ssh -X uname @ password
连接到我的远程服务器3)在服务器上安装了xauth 得到了xauth cookie:
ubuntu/unix:10 MIT-MAGIC-COOKIE-1 0e6810e9913aca02e0xxxxxxx
4)将xauth cookie添加到容器中:来自服务器的那个和来自我的mac的那个
5)启动docker容器并安装firefox进行测试
6)在容器中安装xauth
7)将xauth cookie添加到容器中:来自服务器的那个和来自我的mac的那个
8)但是当我运行firefox(在容器内)时,我收到了这个错误:
Failed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Broadway display type not supported: localhost:10.0
Error: cannot open display: localhost:10.0
当我在容器中回显$ DISPLAY时,我有:
localhost:10.0
当我在服务器中回显$ DISPLAY时,我有:
localhost:10.0
当我在我的Mac上回显$ DISPLAY时,我有:
/private/tmp/com.apple.launchd.G35gSHS5qU/org.macosforge.xquartz:0
我已经在我的Mac(ssh_config)和我的服务器(sshd_config)上启用X11转发,当我输入我的容器并启动GUI应用程序时,我收到此错误:
X11 connection rejected because of wrong authentication.
错误很明显,但我不知道如何修复它。 在容器中,cmd xauth列表给我:
Cyrils-MacBook-Pro.local/unix:0 MIT-MAGIC-COOKIE-1 02f42525dec4a8b4ee2xxxxxx
ubuntu/unix:10 MIT-MAGIC-COOKIE-1 0e6810e9913aca02e0xxxxxxx
在服务器中,cmd xauth列表给我:
Cyrils-MacBook-Pro.local/unix:0 MIT-MAGIC-COOKIE-1 02f42525dec4a8b4ee2xxxxxx
ubuntu/unix:10 MIT-MAGIC-COOKIE-1 0e6810e9913aca02e0xxxxxxx
在我的Mac中,cmd xauth给我:
Cyrils-MacBook-Pro.local/unix:0 MIT-MAGIC-COOKIE-1 02f42525dec4a8b4ee2xxxxxx