1. 在主系統里運行:
$ sudo apt-get install x11-xserver-utils
$ xhost +
這兩句的作用是開放權限,允許所有用戶,當然包括docker,訪問X11 的顯示接口
2. 在啟動docker容器是,添加選項如下:
-v /tmp/.X11-unix:/tmp/.X11-unix \ #共享本地unix端口
-e DISPLAY=unix$DISPLAY \ #修改環境變量DISPLAY
-e GDK_SCALE \ #我覺得這兩個是與顯示效果相關的環境變量,沒有細究
-e GDK_DPI_SCALE \
最終的啟動命令就會長類似這樣:
$ docker run -d \
-v /etc/localtime:/etc/localtime:ro \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-e DISPLAY=unix$DISPLAY \
-e GDK_SCALE \
-e GDK_DPI_SCALE \
--name libreoffice \
jess/libreoffice
這樣啟動后的容器,運行有圖形界面的程序就可以自由顯示,和在本地顯示一樣了。
這樣操作已經十分方便了。需要注意的是,每次重新開機,需要在本機操作一次
xhost +