サーバー/デーモンを強制終了せずに emacsclient フレームを閉じるにはどうすればよいですか?
GUIでC-x C-c
orC-x 5 0
を実行すると、フレームとサーバー (および他のクライアント) の両方が終了しますが、端末から実行すると現在のフレームが終了します。
(追伸: 私の emacs のバージョンは 24.2,gtk です。init-file を使用せずに、構成から来ているかどうかを確認しましたが、結果は同じでした)
サーバー/デーモンを強制終了せずに emacsclient フレームを閉じるにはどうすればよいですか?
GUIでC-x C-c
orC-x 5 0
を実行すると、フレームとサーバー (および他のクライアント) の両方が終了しますが、端末から実行すると現在のフレームが終了します。
(追伸: 私の emacs のバージョンは 24.2,gtk です。init-file を使用せずに、構成から来ているかどうかを確認しましたが、結果は同じでした)
開始時にミニバッファーemacsclient
から:
バッファの使用が終了したら、Cx # と入力します
ここでの重要なポイントは、サーバーをデーモン モードで起動する必要があることです。サーバーが既存の emacs プロセスで実行されている場合 (たとえば(server-start)
、init ファイルにある場合)、サーバーは emacs プロセスで停止します。
サーバーをデーモンモードで起動するには、いくつかの方法があります。
emacs
で呼び出す--daemon
emacsclient
と、実際に実行され、接続が試行されます。--alternate-editor=""
emacs --daemon
サーバーをデーモンモードにすると、フレームを閉じることができるようになり、デーモンは引き続き座って、さらなる接続を待ちます。
/フラグで開始するemacsclient
と、次のようになります。-n
--no-wait
サーバーが戻るのを待たないでください
その場合、クライアントを閉じる必要はありません。
また、バッファを強制終了する必要がある場合はemacsclient
、サーバーはそのまま残ります。
私は Debian with i3 と OSX の両方を使用しています。私は通常、ウィンドウ マネージャーのウィンドウを閉じるショートカットで emacsclient GUI フレームを終了します。たとえば、OSX では「Command + w」を使用してサーバーを強制終了せずにクライアント GUI フレームを閉じ、i3 では「Super + Shift + q」(i3 のデフォルトのウィンドウを閉じる) を使用してクライアント フレームを終了します。 .