by Devin Yang

建立于: 8年前 ( 更新: 3年前 )

由於Mac OS Leopard版之后,Apple已不在内建X11,要求大家使用open source的XQuartz,
所以如果您想在Mac OS上,显示X client的画面,记得先安装Mac OS专用的X11 server:
https://www.xquartz.org/index.html

首先,在MacOS环境开始前,请记得安装XQuartz,并且记得启动允许网络连线要打勾哦

这里,先带大家一步一步运行
一、授权可连线的Client

xhost + 127.0.0.1

如果您打xhost可以看到有那些clients被授权,如果想完全开放可以打xhost +

xhost +
access control disabled, clients can connect from any host

二、在这里我使用Ubuntu的image为例,变定环境变量并且进入bash

X=/tmp/.X11-unix && \
docker run --rm  \
-v $X:$X -e DISPLAY=host.docker.internal:0 \
-ti ubuntu bash

三、安装xeyes

apt-get update&&apt-get -y install x11-apps&&xeyes

四、运行xeyes

xeyes

结果如下:


所以,我们可以弄成一行

X=/tmp/.X11-unix && \
docker run --rm  \
-v $X:$X -e DISPLAY=host.docker.internal:0 \
-ti ubuntu sh -c 'apt-get update&&apt-get -y install x11-apps&&xeyes'

 

 


 

Tags: linux docker

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


docker

D-Laravel上.env及docker-compsoe小教室

本文介绍,当我们使用D-Laravel的.env加载多个yml档时,为何docker-compose ps官方命令无法列出所有使用中的服务。 但在D-Laravel上的./console ps确能正常显示,那官方的docker-compose命令因如何使用才能有相同的效果呢?

docker,phpenv

用光了Docker IPv4 address pool问题解法

可能在旧版的docker环境,使用Docker compose启动容器时,会碰过下方的错误: Error response from daemon: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network这其实这是default-address-pools用光的症状,有些环境,docker-compose默认会使用Class B的私有网络。172段的私有IP是有范围的,从172.16.0.0到172.31.255.255。也就是说,当我们起动一个docker-compose的Project,就会吃掉一个Class B的私有段,非常豪迈,

laravel docker

关於D-Laravel的项目模式

如果您是新使用者,建议您改用我的最新环境phpenv。https://github.com/DevinY/phpenv