2010-12-16 52 views
5

我使用emacs-server,这样我就可以将emacsclient设置为默认texteditor,并让它打开新文件作为缓冲区而不是新的emacs实例。如何保持持久的emacs-server实例正在运行?

但是,这只适用于emacs服务器正在运行,所以我怎么能在启动时运行,并保持在后台?

的另一个问题是,如果我启动Emacs,然后退出并重新启动它,它告诉我:

文件错误:无法绑定服务器套接字,已经在使用

回答

4

地址假设你正在使用Emacs 23 ,请在您的~/.xsession(或放置启动命令的任何位置)放

emacs --daemon 

+1

为此而欢呼。我添加emacs - 守护进程到启动应用程序应用程序,这似乎工作,当我启动emacs它给我文件错误:无法绑定服务器套接字,地址已被使用。虽然我该如何解决这个错误?我尝试了cli的emacsclient,我得到了 - emacsclient:connect:连接被拒绝 emacsclient:没有套接字或替代编辑器。请使用: \t --socket名 \t --server文件(或环境变量EMACS_SERVER_FILE) \t --alternate编辑器(或环境变量ALTERNATE_EDITOR) – tobeannounced 2010-12-16 08:04:47

+1

你仍然有'(服务器启动)在'你的'〜/ .emacs'?尝试删除它。 – igor 2010-12-27 07:58:00

2

This页面应该告诉你所有你需要知道的信息。对提出的建议伊戈尔另一种方法是建立一个新的脚本上的某个地方,你包含路径:

#!/bin/bash 
export GDK_NATIVE_WINDOWS=1 
exec emacsclient --alternate-editor="" -c "[email protected]" 

假设你正在使用GTK。

alternate-editor =“”是一个速记,它告诉emacs在没有找到的情况下启动一个新的服务器。这些全部来自EmacsWiki页面。还有一些针对Connection拒绝错误发布的修复程序。在试图找出有关emacs的东西时,你应该总是从那里开始。

+0

GDK是否正确,或者您的意思是GTK? (我不知道)。 – PythonNut 2013-12-05 18:43:14

+0

GDK是正确的。 – PythonNut 2014-10-27 00:58:08