16

我一直在尝试按照https://learning-continuous-deployment.github.io/docker/images/dockerfile/2015/04/22/docker-gui-osx/上关于在 docker 容器中运行 GUI 应用程序的说明进行操作MacBookPro 主机(使用 Docker 工具)。

我使用 Fedora 23 并安装了 firefox 创建了一个简单的 docker 容器。

我尝试运行 firefox,大约一分钟后出现以下错误:

Unable to init server: Broadway display type not supported: 192.168.57.3:0
Error: cannot open display: 192.168.57.3:0

有谁知道错误的含义和/或如何解决它?

4

3 回答 3

20

在 Mac 上,您可能会发现以下步骤很有用:

  1. 安装 XQuartz
  2. 打开它,转到首选项>安全并检查允许来自网络客户端的连接的选项
  3. 重启
  4. 启动 XQuartz(从应用程序文件夹或使用open -a XQuartz
  5. 允许来自您的 IP 的传入连接xhost + $IP(见注 1)
  6. 在你的 docker 容器中运行 firefox(见注 2)

注意 1:这是获取您的 IP 地址的巧妙技巧:

export IP=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}') 

注 2:以及启动 Firefox 的示例 docker run 命令

docker run -it -e DISPLAY=$IP:0 -v /tmp/.X11-unix:/tmp/.X11-unix <image> firefox
于 2017-11-15T13:51:00.227 回答
2

重新启动我的笔记本电脑为我解决了这个问题。

于 2016-12-11T04:56:45.037 回答
2

我看到了同样的错误,不幸的是重新启动并没有为我解决问题。但是,我能够通过挂载并指向我的本地 .Xauthority 文件来使其工作:

IP=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}')
docker run --rm  --name firefox -e DISPLAY=$IP:0 -e XAUTHORITY=/.Xauthority --net host -v /tmp/.X11-unix:/tmp/.X11-unix -v ~/.Xauthority:/.Xauthority  jess/firefox

当然,这假设您的 XQuarts/xhost 内容已根据此答案正确配置

于 2018-06-30T22:42:15.813 回答