CVS Emacs增加了一个新的选项--daemon
,使得emacs可以作为一个daemon启动而没有任何界面。使用的方式是emacsclient -c打开一个图形化的frame,或者emacsclient -t在终端内打开一个frame。退出当前frame使用C-x 5 0
用这种方式启动Emacs,就像使用Music Player Daemon一样,可以放心大胆地重新启动X Window,而不会受到任何影响。根据我个人的使用经验,Emacs daemon并没有load用户的.emacs文件,为了避免每次手工load,我写了一个bash脚本:
#!/bin/bash emacs --daemon sleep 30 emacsclient -c --no-wait -e '(load-file "~/.emacs")'
有一点需要注意的是,在自己编译之前一定要按照David Smith的patch做一点修改,否则会有segfault。
好像.emacs文件还是有部分代码被load了的,但又不是全部,不知道到底是什么规律?
据说是跟界面有关的部分没有执行,我还没有时间去确认。