emacs23.1がリリース daemon機能を試用してみる

Slashdot.jpに
emacs 23.1、リリース!
という記事が載っていました。
で、自分が使っているemacsはUbuntuのパッケージから持ってきた最新版(emacs-snapshot)で23.0.91.1でした。まぁ、そのうちUbuntuの方もバージョンアップされるでしょう。

emacs23の新機能としては文字のアンチエイリアスが目を引きますね。その他にPDFやDVIファイルが閲覧できるようになっています。emacsでtex環境を完結させたい場合には便利かもしれないですけど、試しにPDFファイルを開いてみると拡大表示ができなかったり?していたので、まだ使い辛い印象がありました。

それから、デーモン機能を使用すること(要するにバックグラウンドでemacsを待機させる状態?)でemacsの起動を高速化することが可能となっているます。そこで、ちょっと試してみて使い勝手がいいか試してみました。↓


emacs --daemon 機能を試してみる
emacsを起動する前に、emacsをdaemonとして立ち上げておき、そこにクライアントとしてemacsを立ち上げる方法がある。この方法では、クライアントのemacsの起動がかなり高速化される。

実際に試してみると
起動時間
・emacs : 約3秒
・daemonを立ち上げた状態からのemacsclient : 約1秒
いままで3秒かかっていたのが1秒で起動するようになった。このようにdaemonを用いることでかなり高速化されたことがわかる。

emacs -daemonの使用方法
まず、emacsをサーバー(デーモン)として起動しておく。
  $ emacs-snapshot --daemon
  ($ emacs --daemon)
(Ubuntuではemacsの最新版はemacs-snapshotとして起動する)
この段階では画面にはemacsは起動せず、デーモンとして存在している。

このデーモンを利用してemacsをクライアントとして接続する方法は次の通り。
  $ emacsclient.emacs-snapshot -c -a emacs-snapshot
  ($ emacsclient -c -a emacs)
emacsclientを起動するときは明示的にファイルを指定する必要がある。ファイルを読み込まないで起動する場合は -c オプションを付ける。
-a emacs-snapshot は、もしデーモンが起動していない場合に通常のemacsを起動させるオプション。

設定例
まずログインした際にデーモンを起動させるためにGnomeのスタートアップに emacs --daemonを登録しておく。
[システム]→[設定]→[自動起動するアプリ]

アイコンからemacsclientを起動する場合は、コマンドに以下を指定してやる。
emacsclient.emacs-snapshot -c -a emacs-snapshot

ターミナルから起動する場合、クライアントのオプションを付けて起動コマンドを打ち込むのは面倒なので、.bashrc にエイリアスとして登録しておく。
alias emacsclient='emacsclient.emacs-snapshot -c -a emacs-snapshot'


補足
デーモンが起動しているので、Gnomeを終了させるときに emacs が起動したままという忠告が出てしまう。特に問題なければ、そのままGnomeを終了させればよい。
emacsを一度起動したら、使用する度に起動するのではなく、常に立ち上げている人にはあまりメリットのない方法である。
emacsclientで何かモードを起動してから終了すると、再度emacsclientを実行するとモードが起動したままになっていることがある。このような状態が気になる場合は、一度デーモンを再起動させればよい。

コメント