必要なときにのみemacsデーモンを実行する方法は?

必要なときにのみemacsデーモンを実行する方法は?

私が知っている限り、emacsの起動を高速化する1つの方法は、emacs --daemonログイン時に実行してからemacslientファイルを開くことですemacs。これにより、新しいemacsインスタンスを作成するのではなく、実行中のemacsサーバーにアクセスできます。

ただし、必要な場合を除き、ログインプロセスを高速化するためにプログラムを自動起動に入れないことをお勧めします。 emacsサーバーが稼働しているかどうかを検出する安定した方法はありますか?これにより、Emacsを使用して初めてファイルを開くときにEmacsサーバーを生成する簡単なスクリプトを作成できます。

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

ベストアンサー1

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=\"\""

おすすめ記事