首先需要安裝socat以及xquartz
brew install socat
brew cask install xquartz
並建議重開機!
另外最好開啟opengl for x11的功能(refer)
defaults write org.macosforge.xquartz.X11 enable_iglx -bool true
接著開啟XQuartz
open -a XQuartz &
然後就可以不理會XQUartz的視窗
然後在Terminal下達執行X11代理程式
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\" &
最後就可以在Terminal中啟動docker
docker run -ti --rm \
-e DISPLAY=192.168.1.1:0 \
--volume="$HOME/.Xauthority:/root/.Xauthority:rw" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
firefox firefox
其中192.168.1.1為MacOS的IP
若Client端是Windows的話
可由xming以及putty的配合,透過遠端的linux(無GUI的server也可以),在windows上顯示GUI
1.首先安裝xming
2.開啟putty,並將X11 forwarding打開
3.連入遠端linux.
4.接著輸入下列語法,啟動firefox
docker run -it --rm \
--net=host --env="DISPLAY" \
--volume="$HOME/.Xauthority:/root/.Xauthority:rw" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
firefox firefox
另外在win10內,可以透過ubuntu bash+docker+xming來顯示GUI介面
前提: 已經可以在ubuntu bash中執行docker,請參考此處
首先在C:\Program Files (x86)\Xming\X0.hosts加入win10的ip
接著重新啟動xming
最後就可以在ubuntu bash中啟動
docker run -it --rm \
--net=host \
--env "DISPLAY=$(ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{print $1}'):0" \
firefox firefox[/code]
文章短網址: https://slanla.com/__5ye8n5