最近、これが起こり始めました。私は次を実行します
/usr/bin/emacsclient --alternate-editor="" --no-wait -c
。
エラー:表示:0.0を開くことができません。
他のアプリはこれを行いません。
出力xdpyinfo
:
name of display: 0.0
version number: 11.0
vendor string: The X.Org Foundation
vendor release number: 10707000
X.Org version: 1.7.7
編集する: 以前のEmacsサーバー/デーモンがまだ実行中であることがわかりました。
$ ps ux | grep [e]macs
richard 2642 0.0 0.8 38788 24984 ? Ss Jun22 0:25 emacs --daemon
richard 7512 0.0 0.6 33896 19720 ? Ss Jun23 0:05 emacs --daemon
richard 15458 0.0 0.6 32836 19076 ? Ss 09:40 0:01 emacs --daemon
ログアウトするときにオフにする方法を知っていますか?
ベストアンサー1
追加情報を見ると、あなたのemacsclientが「間違った」emacsサーバーに接続されているようです。 (または最初のものを起動することをお勧めします。emacs --daemon
通信ソケットがすでに使用されているため、後続の呼び出しはサーバーを起動できません)だから失敗します。
非グラフィック/ttyモードでサーバーに接続し、次のオプションを使用して端末で-nw
emacsclientを実行すると、どのemacsプロセスがサーバーを実行しているかを確認できます。
emacsclient -nw
emacsclientを介してLISPコードを実行することで、実行中のemacsを終了できます。
emacsclient -t --eval '(progn (server-save-buffers-kill-terminal 1) (save-buffers-kill-emacs 1))'
どこ:
- このオプション(または
-t
エイリアス)は、EmacsがXディスプレイに接続するのを防ぎます。-nw
--tty
server-save-buffers-kill-terminal
Emacsに停止するように指示する前に、emacsclientを切り離してください(そうでない場合は、確認プロンプトが表示されます)。- この
save-buffers-kill-emacs
関数は通常、Emacsに確認を要求しないように指示C-x C-c
する引数とともに呼び出されます。1
また、私はあなたがあまりにも実行している理由emacs --daemon
は、次のオプションを使用してemacsclientを呼び出すためだと思います--alternate-editor=""
。マニュアルページ emacsclient(1)指摘した:
(代替)EDITORの値が空の文字列の場合、Emacsはデーモンモードで起動し、emacsclientはそれに接続しようとします。
emacs --daemon
.gnomerc
Xセッション起動スクリプト(GNOMEセッションの設定など)からの起動は、セッションの終了時にセッションマネージャにemacsデーモンの終了を処理させるためのより良いオプションです。