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,laravel

如何使用多個YAML檔,執行多個docker的container服務

這個影片介紹如何用docker-compose命令,指定多個YAML結構語言設定檔,來建立容器的執行,並且介紹在D-Laravel的使用環境中,我們如何透過使用.env的方式,簡化docker-compose的啟動命令。

docker

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

本文介紹,當我們使用D-Laravel的.env載入多個yml檔時,為何docker-compose ps官方指令無法列出所有使用中的服務。 但在D-Laravel上的./console ps確能正常顯示,那官方的docker-compose指令因如何使用才能有相同的效果呢?

docker, tinkerwell, tinker, laravel

Tinkerwell與docker環境運用

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