鍋の底

雑多な記録

emacsclientをDebian/gnome3で利用するよう設定する

普段 Debian GNU/Linux (sid) で生活していて、エディタには emacs をgnome3上で利用しています。

emacsユーザなら起動しっぱなしにしてその中で生活すればいいという声もありそうですが、 私はライトユーザなので、必要なときに上げて、終わったら片付けるということをしています。

そんなライトユーザな私ですが、それ故にemacsを起動する際のコストが気になってきます。 そのためemacsdaemonとして起動しておき、必要なときにemacsclientで接続するように設定しました。

備忘録として残しておきます。

まず、emacsclientのインストールですが、Debianではemacsパッケージに入っています。

$ sudo apt-get install emacs

emacsclientでdaemonに接続するにはdaemonを起動しておかなければなりませんが、 面倒なことはしたくないです。

そこで、emacsclient起動時にdaemonがなければ起動し、新しいウィンドウを表示する形にします。

$ emacsclient -c -a "" ファイル名 &

これだけでも目的は達成できるのですが、毎度コマンドを打つのは面倒です。 環境変数に設定して楽をしましょう

EmacsWiki: Emacs Client によるとこんな感じで行けそうですね。 私は ~/.bashrc に追記しました。

export ALTERNATE_EDITOR=""
export EDITOR="emacsclient -t"                  # $EDITOR opens in terminal
export VISUAL='emacsclient -c -a ""'            # $VISUAL opens in GUI mode

また、せっかくgnome3を使っているので、dockに追加してお手軽に起動したいです。 そこで以下のデスクトップエントリを ~/.local/share/applications/emacsclient.desktop として作成します。

[Desktop Entry]
Name=Emacs (Client)
GenericName=Text Editor
Comment=Edit text
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=emacsclient -c -a "" %F
Icon=emacs
Type=Application
Terminal=false
Categories=Development;TextEditor;Utility;
StartupWMClass=Emacs

ポイントはExec行です。 作成すると、他のアプリと同様に、検索して実行したりできます。アイコンをお気に入りに追加すればdockにも追加できます。

あとは、gitのエディタを設定しておけばいいかなぁ。 環境変数のEDITORもみてくれると思いますが、以下の設定を ~/.gitconfig に追加しておきました。

[core]
    editor = emacsclient -c -a \"\"

これで生活するには困らないと思います。