有没有在linux平台将emacs”绿色化“的方法

我要叛逃Emacs神教!!! - #79,来自 ziyuanjun 后,继续请教:

我想在 linux 中试用其他配置的 Emacs, 同时保证不破坏系统中已存在的配置,不知道有没有这样的方法? 我知道虚拟机可以实现 :sweat_smile: ,但是为了用emacs装个虚拟机,有点牛刀杀鸡的感觉。

如果在 windows 中,好像是可以实现的,参考 在 windows 平台将 emacs 绿色化的方法

你可以试试 jail 或者 chroot。

不妨试试我这个 here-emacs 脚本:

$ git clone http://github.com/xxx/dotemacs dotemacs-xxx
$ cd ./dotemacs-xxx
$ here-emacs
4 个赞

;; 创建site-start.el文件放到/usr/share/emacs/25.2/site-lisp/目录中

(setenv “HOME” “/store/zpbird/software/emacs/emacs_home/”)

这个方法比较实用

非常方便!感谢分享!

Edit: 第32行有一个 typo

可以用docker来试

似乎 here-emacs 打开的是终端版的 emacs, 是不是可以改成 GUI?

随便加个参数比如 -a '--debug-init' 覆盖默认值即可。

想过用docker,但是我一直没有对 docker 建立起概念

感谢推荐! 都是好东西,我还都没用过

在linux上建个新用户

1 个赞

那要靠 log out、 log in 来回切换了?

chroot 也就相当于把系统现有资源也隔离了,linux/macOS 有兼容性的问题要处理,想要正常使用 emacs 可能还要做相当的工作。

docker 是比 chroot 更彻底、更的方式,但是不必考虑兼容性问题,emacs 所需的配套工具也容易安装。

修改 HOME 应该是最经济实惠的方式,共享系统资源,用户资源也只需要链接到 FAKE_HOME 底下就可以了,以 macOS 下使用 ipython 为例:

  • 把 ipython 安装到用户空间

    ⋊> pip install --user ipython
    ⋊> pip show ipython | grep Location
    Location: ~/Library/Python/2.7/lib/python/site-packages
    
  • 链接 Library 之前

    ⋊> sh -c "export HOME=$PWD; emacs -nw --batch --eval '(message (shell-command-to-string \"ipython --version\"))'"
    Traceback (most recent call last):
    File "/usr/local/bin/ipython", line 7, in <module>
        from IPython import start_ipython
    ImportError: No module named IPython
    
  • 链接 Library 之后

    ⋊> ln -s ~/Library ./Library
    ⋊> sh -c "export HOME=$PWD; emacs -nw --batch --eval '(message (shell-command-to-string \"ipython --version\"))'"
    5.4.1