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: docker gui docker

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


docker, tinkerwell, tinker, laravel

Tinkerwell與docker環境運用

其實我最近不用Tinkerwell了,因為老是要我花錢更新。要測試直接ssh 主機不就搞定啦不是?

docker

如何更新或重建D-Laravel的FPM Image

有時,docker的Image會進行一些修正或加入更多的外掛,我們要如何來更新電腦中的image呢? 非常簡單,使用docker pull [使用的image即可],如果想建立自己的image也是可行的...

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的私有段,非常豪邁,