如何以守护进程模式运行 Mac OSX 图形化 Emacs?

如何以守护进程模式运行 Mac OSX 图形化 Emacs?

简写:我想运行 Mac OSX 版本的 Emacs http://emacsformacosx.com/作为守护进程,图形和文本客户端可以根据需要连接到它。

具体来说,这是我想要的工作流程:

  1. 登录后,运行/Applications/Emacs.app/Contents/MacOS/Emacs --daemon以启动 emacs 作为守护进程。 我已经知道怎么做了

  2. 当从本地终端运行 emacs 时,我想要以下任一个:

    1. 如果我emacs从本地命令提示符运行,则使用选定的文件打开一个新框架。
    2. 如果#1不可行,至少如果我emacsclient从命令行运行,则使用选定的文件打开一个新框架。
  3. 当从远程终端运行 emacs 时,我希望启动文本模式 emacs,并连接到守护进程。

  4. 如果我运行Emacs.app重新使用在后台运行的 emacs 守护程序,而不是启动新实例并在其上打开一个新窗口。

到目前为止,我只能完成上面的 #1 和 #2.2,但这些是比较容易的部分。#3 和 #4 是实现这一目标最需要的东西。有人知道如何完成这些事情吗?

答案1

  1. 你已经处理好了
  2. 是的,您需要使用 emacsclient。要获取新框架,请添加 -c 选项。我有一个别名,可以使其更快,并告诉 emacsclient 不要等待 emacs 服务器返回:

    alias em='emacsclient -n'
    
  3. emacsclient -nw
  4. 我对此不太确定。我启动一次 Emacs 后,总是在 emacs 中或使用我的em别名加载新文件。

更新:

查看这个提示记录如何使用鸭嘴兽创建一个围绕 emacsclient 的应用程序包装器。然后你可以使用“打开用...”使用您的新应用程序包装器启动。

答案2

是的,这里有一个关于如何完美实现这一点的相当全面的解释。我尝试了几种方法让它工作得很好,但没有比他们在这里描述的更好。

https://gist.github.com/304964

干杯!

答案3

对于 4. 将其放入你的 .emacs 中:

(setq ns-pop-up-frames nil)

创建 Mac .app(使用 Platypus)的解决方案不起作用,因为 Mac 不会打开同一个应用程序两次。

相关内容