Emacsはお世辞にも起動時間は早いとは言えない。特に、init-loaderを使って初期設定ファイルを機能分割してファイル数が増えてきたりすると見通しは良くなる一方で、起動時間は遅くなる。
そこでEmacsのdaemon機能を利用して改善する。Emacsをログイン時に常駐させる。Emacsを呼び出すにはemacsclient
コマンドを利用。
追記(2018/6/3)
Ubuntu 18.04 LTS Serverでも動作する事を確認。
【Ubuntu 20.04/18.04 LTS Server】Emacsを使う
Ubuntu 18.04 LTS Server では、Emacsは標準のaptパッケージからインストールできるようになった。2020/07/12追記「Ubuntu 20.04 LTS Server」でも同様に利用できる事を確認した。Emac...
Emacs起動用エイリアスの設定
~/.bashrc
に下記を追加。
if emacsclient -e "t" > /dev/null 2>&1 ; then
echo 'Emacs daemon is already running.'
else
echo 'Starting Emacs daemon.'
emacs --daemon
fi
export EDITOR='emacsclient -a "" -t'
alias e=${EDITOR}
alias ekill='emacsclient -e "(kill-emacs)"'
これでログイン時にEmacsを常駐させる。既に常駐している時は常駐はしない。
Emacsの起動はe
コマンドのみで利用できる。又、初期設定ファイルを修正した場合など、ekill
コマンドで常駐を解放できる。
補足
emacsclient
コマンドの-a ""
オプションで、Emacsが常駐していない場合に自動的にemacs --daemon
コマンドを呼び出して常駐する。
初回ログイン時のみ初期設定ファイルを読み込み実行するので多少時間はかかるが、以後の起動は速い。なお、Ubuntuパソコンを再起動しなければ、ログオフしても常駐は残っている。EDITOR
の環境変数にセットしておくことで、sudo -e
コマンドなどのエディター呼び出しにEmacsが使われる。- 常駐時の起動メッセージが鬱陶しい場合は、下記のようにメッセージを表示しないよう記述
emacs --daemon > /dev/null
所感
これでEmacsが瞬時に起動する。ほんと快適!!
関連記事
【Emacs】init-loaderで初期設定ファイルを整理
Emacsの初期設定ファイルに設定記述する事で便利にしていく事ができるが、いろいろ書いていくと、長くなり見通しが悪くなってくる。そこで「init-loader」パッケージを導入する事で、設定を分割して記述する。インストールM-x packa...
【Ubuntu 16.04 LTS Server】Emacs 25をaptパッケージからインストールして使う
前の記事では、Emacs 25をソースからビルドしたが、ビルド済みのパッケージが公開されているのでそれを使わせて貰いインストールしたので備忘録を残す。Emacs25をインストールEmacs25パッケージをインストール。$ sudo add-...
コメント