OSX X11错误无法打开显示

OSX X11 Error cannot open display

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

我有一个全新的 XQuartz 安装。已经 运行ning 了。我已经在安全下打开了 "allow connections from network"。我试过构建自己的图像并提取 jessie frazelle 的图像。我不怀疑这是 docker 问题或 Docker 文件。这是主机上的东西,我的笔记本电脑。我似乎无法弄清楚它是什么。

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

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

我如何修复它是打开 XQuartz,然后从 "Applications" 菜单打开 "Terminal" 应用程序。然后 运行 命令 export DISPLAY=192.168.1.X:0,然后 xhost +。它输出了这样的东西 "access control disabled, clients can connect from any host"。之后,我能够 运行 我的 docker run 命令来启动所需的 GUI 容器。

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

根据@Byron 的回答,我发现我可以在普通终端中通过 运行 这 2 个命令让它工作:

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