OSX X11错误无法打开显示

时间:2018-01-19 06:38:09

标签: macos docker x11

我正在尝试在MacOS上运行任何GUI容器。我尝试的每个容器(firefox,chrome,tor,spotify等)我总是得到错误Error: cannot open display。并且它并不特定于我使用docker run传递环境标志的$DISPLAY命令。当我尝试运行xhost +时,我得到了同样的错误。

我有一个新的XQuartz安装。它正在运行。我在安全性下打开了“允许来自网络的连接”。我已经尝试构建自己的图像并拉出jessie frazelle的图像。我不怀疑它是码头问题或Dockerfiles。它是主机上的东西,我的笔记本电脑。我似乎无法弄清楚它是什么。

MacOS Sierra 10.12.5
Docker 17.12.0稳定
XQuartz 2.7.11(xorg-server 1.18.4)
我的本地$DISPLAY设置为:0.0

2 个答案:

答案 0 :(得分:2)

所以我终于开始工作了。它看起来很简单。我不确定这实际上是如何解决问题的,但现在容器工作了。

我如何修复它是打开XQuartz,然后从“应用程序”菜单打开“终端”应用程序。然后运行命令export DISPLAY=192.168.1.X:0,然后xhost +。它输出类似“访问控制禁用,客户端可以从任何主机连接”。之后,我能够运行docker run命令来启动所需的GUI容器。

我仍然不确定这是如何工作的,而不是从我的笔记本电脑终端应用程序运行它们,但它确实有效。它必须是我在当地环境中设定的东西。希望这可以帮助其他可能遇到同样问题的人。

答案 1 :(得分:2)

基于@Byron的回答,我发现我可以通过在普通终端中运行以下两个命令来使其工作:

export DISPLAY=:0
/opt/X11/bin/xhost +