2007年7月9日月曜日

標準のコマンドの関連付けを変える。

私の環境ではemacsのバージョン21と開発バージョンであるバージョン23が入っているのですが、先日emacs23をアップデートした際に、以前だとemacsとコマンドを打つとemacsのバージョン21が起動していたのがemacs23が起動するようになってしまいました。メインで使うのはemacs21なので以前のようにemacsと入力したらemacs21が起動するように設定していきます。

まず、emacsコマンドがどこにあるかwhichコマンドで調べます。
$ which emacs
/usr/bin/emacs
と返ってきました。次にlsコマンドで見てみます。
$ ls -l /usr/bin/emacs
lrwxrwxrwx 1 root root 23 2006-10-28 16:04 /usr/bin/emacs -> /etc/alternatives/emacs
と、シンボリックリンクで実態は/etc/alternatives/emacsだとわかります。同じようにlsコマンドで、
$ ls -l /etc/alternatives/emacs
lrwxrwxrwx 1 root root 23 2007-07-07 02:38 /etc/alternatives/emacs -> /usr/bin/emacs-snapshot
とすると、実態は/usr/bin/emacs-snapshotだということがわかりました。emacsとコマンドを入力すると/usr/bin/emacs-snapshotというコマンドが実行されるというわけですね。ようはシンボリックリンクなのですからlnコマンドで手動でリンクを修正してもいいのですけど、ubuntuにはちゃんとこういったときのためのコマンドが用意されているのでupdate-alternatives コマンドを使います。
sudo update-alternatives --config emacs
と実行すると、どれを標準にするか聞いてきますので、
`emacs' を提供する 2 個の alternatives があります。

選択肢 alternative
-----------------------------------------------
1 /usr/bin/emacs21-x
*+ 2 /usr/bin/emacs-snapshot

デフォルト[*] のままにするには Enter、さもなければ選択肢の番号のキーを押してください: 1
`emacs' を提供するために `/usr/bin/emacs21-x' を使います。

1を選択してemacs21を標準に設定しました。

同じように標準のエディタも設定してみます。
$ sudo update-alternatives --config editor
Password:

`editor' を提供する 8 個の alternatives があります。

選択肢 alternative
-----------------------------------------------
1 /usr/bin/vim
2 /bin/ed
3 /bin/nano
4 /usr/bin/emacs21
5 /usr/bin/vim.tiny
6 /usr/bin/vim.basic
*+ 7 /usr/bin/vim.ruby
8 /usr/bin/emacs-snapshot

デフォルト[*] のままにするには Enter、さもなければ選択肢の番号のキーを押してください:

このように標準のコマンドをupdate-alternativesを使って自由に切り替えることが出来ます。
詳しくは man update-alternatives をしてマニュアルを読んでみましょう。

0 件のコメント: