by Devin Yang

建立於: 8年前 ( 更新: 2年前 )

由於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,php,cli

MacOS的php不給力,用docker執行laravel installer

非常簡單呀,加個「別名」就好了alias laravel='docker run --rm -v ${PWD}:/var/www/html -v ~/.dlaravel/cache:/home/dlaravel/.composer/cache -ti deviny/fpm:8.1.10 /home/dlaravel/.composer/vendor/bin/laravel'

d-laravel,docker

D-Laravel v1.2.1版變更說明(建議更新,必免踩雷)

D-Laravel v1.2.1版修正說明 use GuzzleHttp\Client; 進行post時.出現存取被拒的問題。 如果您是由舊版升級,您可能需調整etc/default-ssl.conf的設定檔 (如果有該檔) 請調整php:9000變更為web:9000,你可以透過執行一次./console secure調整。 docker-compose設定檔部份,PHP-FPM container變更為network_mode: "service:web"...

docker

[必學]在docker swarm環境必學iptabels的使用

首先Docker在Linux的環境下,Docker使用iptables規則來提供網路隔離。然而在Docker swarm mode的環境下,我們是沒辨法把連接埠開在host的127.0.0.1下的,這時便可透過iptables中的DOCKER-USER chain來自訂規則囉 。