使用docker輕鬆體驗多個版本Emacs

原文地址:https://www.lujun9972.win/blog/2018/04/23/使用docker輕鬆體驗多個版本emacs/index.html

想體驗一下最新版的Emacs?或者想測試一下插件在多個版本Emacs上是否能正常工作? 如果一次性在電腦上編譯多個版本的Emacs不僅麻煩,而且管理起來還很麻煩,尤其是當需要爲不同版本的Emacs定義不同配置文件的時候。 不過還好,我們有Docker。

Silex/docker-emacs可以讓你在Docker容器中運行Emacs。 而且這個項目提供了多個版本的Emacs Docker鏡像。

不同Emacs版本用Tag來劃分,這些tag包括:

  • master (master/xenial/Dockerfile)
  • master-dev (master/xenial/dev/Dockerfile)
  • master-alpine (master/alpine/Dockerfile)
  • 26.0, 26 (26.0/xenial/Dockerfile)
  • 26.0-dev, 26-dev (26.0/xenial/dev/Dockerfile)
  • 26.0-alpine, 26-alpine (26.0/alpine/Dockerfile)
  • 25.3, 25, latest (25.3/xenial/Dockerfile)
  • 25.3-dev, 25-dev, dev (25.3/xenial/dev/Dockerfile)
  • 25.3-alpine, 25-alpine, alpine (25.3/alpine/Dockerfile)
  • 25.2 (25.2/xenial/Dockerfile)
  • 25.2-dev (25.2/xenial/dev/Dockerfile)
  • 25.2-alpine (25.2/alpine/Dockerfile)
  • 25.1 (25.1/xenial/Dockerfile)
  • 25.1-dev (25.1/xenial/dev/Dockerfile)
  • 24.5, 24 (24.5/xenial/Dockerfile)
  • 24.5-dev, 24-dev (24.5/xenial/dev/Dockerfile)
  • 24.4 (24.4/precise/autogen/Dockerfile)
  • 24.4-dev (24.4/precise/autogen/dev/Dockerfile)
  • 24.3 (24.3/precise/autogen/Dockerfile)
  • 24.3-dev (24.3/precise/autogen/dev/Dockerfile)
  • 23.4, 23 (23.4/precise/bootstrap/Dockerfile)
  • 23.4-dev, 23-dev (23.4/precise/bootstrap/dev/Dockerfile)

其中以 dev 結尾的docker鏡像包含多Cast,git,Python這些開發工具,另外相關Emacs代碼也存在 /opt/emacs 中沒有被刪掉,因此容量會比較大。

alpine 結尾的docker鏡像表示它是基於 Alpine Linux 創建的鏡像,因此容量比較小。

master 版本只得是最新版的Emacs,目前爲止就是 27.0 版。

因此,若我想體驗一下最新版的Emacs,只需要執行

docker pull silex/emacs:master

然後只需要執行

docker run -it --rm silex/emacs:master

就能進入27.0版本的Emacs了。 screenshot-03.png

不過由於沒有XServer,進入的是Emacs文本界面。

如果要進入Emacs圖像界面也很簡單,讓容器共享主機的XServer就好了,具體方法如下:

xhost +local:                         # 允許本地訪問Xserver
docker run -it --rm -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix silex/emacs:master # 共享主機的Xserver

screenshot-04.png

你也可以將自己的配置掛載到容器中去:

docker run -it --rm -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v ~/.emacs.d:/root/.emacs.d -v ~/.spacemacs.d:/root/.spacemacs.d silex/emacs:master

或者爲了方便直接將HOME目錄掛載上去

docker run -it --rm -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v ~:/root/ silex/emacs:master

screenshot-12.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章