Emacs

如何僅在需要時執行 emacs 守護程序?

  • May 21, 2020

根據我的閱讀,加快 emacs 啟動的一種方法是emacs --daemon在登錄時執行,然後使用emacslient而不是打開文件emacs,這將訪問正在執行的 emacs 伺服器,而不是創建一個新的 emacs 實例。

但是,除非絕對必要,否則我寧願不要將 prorams 放入我的自動啟動中,以加快登錄過程。是否有一種可靠的方法來檢測 emacs 伺服器是否正在執行?這將讓我編寫一個簡單的腳本,在我第一次使用 emacs 打開文件時生成 emacs 伺服器。

#!/bin/sh
if emacs_daemon_is_not_running # <-- How do I do this?
then
   emacs --daemon
fi
emacsclient -c "$@"

您甚至不需要測試 emacs 是否已經在執行。emacsclient如果 emacs 守護程序尚未執行,則可以啟動它。來自emacsclient(1)

  -a, --alternate-editor=EDITOR
         if the Emacs server is not running,  run  the  specified  editor
         instead.   This can also be specified via the `ALTERNATE_EDITOR'
         environment variable.  If the  value  of  EDITOR  is  the  empty
         string,  run `emacs --daemon' to start Emacs in daemon mode, and
         try to connect to it.

我使用別名 ,ge來編輯文件,定義如下:

alias ge="emacsclient -c -n --alternate-editor=\"\""

引用自:https://unix.stackexchange.com/questions/237547