求教:如何让emacs daemon开机启动

Vim、Emacs配置和使用
回复
janus
帖子: 156
注册时间: 2006-01-02 3:15

求教:如何让emacs daemon开机启动

#1

帖子 janus » 2010-02-28 15:24

我在Archlinux下想实现开机自动开启Emacs Daemon结果一直不成功。
一开始试了一下kde,system setting当中Autostart,添加程序,并把application改为emacs --daemon(如图),
可是,添加程序之后开机直接启动的还是emacs程序,而不是Daemon。

然后看emacs wiki上说可以修改rc.conf,我就比照着其他rc.d中的文件,自己写了一个文件。文件内容如下:

代码: 全选

#! /bin/bash

 . /etc/rc.conf
 . /etc/rc.d/functions

case "$1" in
   start)
     stat_busy "Starting Emacs Daemon"
     /usr/bin/emacs --daemon
     if [ $? -gt 0 ]; then
       stat_fail
     else
       add_daemon emacs
       stat_done
     fi
     ;;
   stop)
     stat_busy "Stopping Emacs Daemon"
     /usr/bin/emacsclient -e '(kill-emacs)'
     if [ $? -gt 0 ]; then
        stat_fail
     else
       rm_daemon emacs
       stat_done
     fi
     ;;
   restart)
     $0 stop
     sleep 1
     $0 start
     ;;
   *)
     echo "usage: $0 {start|stop|restart}"
 esac
保存后试了一下,是可以启动的,启动内容如下:

代码: 全选

 sudo /etc/rc.d/emacs start 
:: Starting Emacs Daemon [BUSY]
("/usr/bin/emacs")
Loading /home/lianpeng/.emacs.d/lianpeng-basic.el (source)...
Toggling tool-bar-mode off; better pass an explicit argument.
Loading /home/lianpeng/.emacs.d/color-theme.el (source)...
Loading /home/lianpeng/.emacs.d/color-theme.el (source)...done
Loading /usr/share/emacs/site-lisp/cedet/common/cedet.el (source)...
Setting up CEDET packages...
Setting up CEDET packages...done
Loading /usr/share/emacs/site-lisp/cedet/common/cedet.el (source)...done
ECB 2.40 uses CEDET 1.0pre6 (contains semantic 2.0pre6, eieio 1.2, speedbar 1.0.2).
Loading /home/lianpeng/.emacs.d/lianpeng-basic.el (source)...done
Loading /home/lianpeng/.emacs.d/lianpeng-python.el (source)...
Loading /home/lianpeng/.emacs.d/lianpeng-python.el (source)...done
Loading /home/lianpeng/.emacs.d/lianpeng-auctex.el (source)...
Loading /home/lianpeng/.emacs.d/lianpeng-auctex.el (source)...done
Loading /home/lianpeng/.emacs.d/lianpeng-mathtools.el (source)...
Loading /home/lianpeng/.emacs.d/lianpeng-mathtools.el (source)...done
Starting Emacs daemon.
[DONE]
但是在终端输入emacsclient -t,则显示出错信息:
emacsclient: can't find socket; have you started the server?
To start the server in Emacs, type "M-x server-start".
emacsclient: No socket or alternate editor. Please use:

--socket-name
--server-file (or environment variable EMACS_SERVER_FILE)
--alternate-editor (or environment variable ALTERNATE_EDITOR)
说明emacs daemon还是没能启动。

不知道哪位能够帮忙看看这是什么问题。谢谢!
附件
Autostart的设置。
Autostart的设置。
头像
vmlinz
帖子: 4
注册时间: 2007-10-21 15:26

Re: 求教:如何让emacs daemon开机启动

#2

帖子 vmlinz » 2010-02-28 21:03

你好,你的启动脚本不完善,你需要指定emacs daemon的启动用户,emacsclient也需要指定通信用的文件。

你可以参考:http://www.emacswiki.org/emacs/emacsd和h ... csAsDaemon
回复