您当前的位置:首页 > 计算机 > 云技术 > Docker

使用 docker 轻松体验多个版本 Emacs

时间:12-14来源:作者:点击数:
CDSY,CDSY.XYZ

想体验一下最新版的 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
CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐