G Alternatives で GUI から alternatives を設定
Windows で「既定のプログラム」が設定出来るように、Linux にも既定のプログラムが簡単に切り替えられる仕組みがあります。
例えば editor というコマンドを実行した時に、その時々、好みによってデフォルトのエディターを切り替えられたら便利ですよね。
ここでは既定のプログラムを切り替えるための update-alternatives について簡単に説明した後、GUI ツールである G Alternatives を紹介します。
update-alternatives とは?
update-alternatives はシンボリックリンクを管理するコマンドで、デフォルトコマンドの切り替えを容易に行えるようにするものです。
例えばエディターを切り替える例をみてみましょう。
私の手元の環境で、editor コマンドを実行します。
$editor
すると...
VIM が起動しました。これがどういうことか update-alternatives コマンドで見てみます。--display オプションで確認すると・・・
$ update-alternatives --display editor editor - manual mode link currently points to /usr/bin/vim.gnome /bin/ed - priority -100 slave editor.1.gz: /usr/share/man/man1/ed.1.gz /bin/nano - priority 40 slave editor.1.gz: /usr/share/man/man1/nano.1.gz /usr/bin/vim.gnome - priority 60 slave editor.1.gz: /usr/share/man/man1/vim.1.gz slave editor.fr.1.gz: /usr/share/man/fr/man1/vim.1.gz slave editor.it.1.gz: /usr/share/man/it/man1/vim.1.gz slave editor.pl.1.gz: /usr/share/man/pl/man1/vim.1.gz slave editor.ru.1.gz: /usr/share/man/ru/man1/vim.1.gz /usr/bin/vim.tiny - priority 10 slave editor.1.gz: /usr/share/man/man1/vim.1.gz slave editor.fr.1.gz: /usr/share/man/fr/man1/vim.1.gz slave editor.it.1.gz: /usr/share/man/it/man1/vim.1.gz slave editor.pl.1.gz: /usr/share/man/pl/man1/vim.1.gz slave editor.ru.1.gz: /usr/share/man/ru/man1/vim.1.gz Current 'best' version is '/usr/bin/vim.gnome'.
このように、エディターがいくつか登録されていて、現在リンクが /usr/bin/vim.gnome をポイントしていることがわかりました。
ここではもっとも高いプライオリティ (優先度) をもつコマンドにリンクが設定されているわけです。
また、プライオリティが 60 と、もっとも高く設定されている /usr/bin/vim.gnome が現在のベストバージョンである、とも表示されています。
設定を変更するには、次のように --config オプションを利用します。
$ sudo update-alternatives --config editor There are 4 choices for the alternative editor (providing /usr/bin/editor). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/vim.gnome 60 auto mode 1 /bin/ed -100 manual mode 2 /bin/nano 40 manual mode 3 /usr/bin/vim.gnome 60 manual mode 4 /usr/bin/vim.tiny 10 manual mode Press enter to keep the current choice[*], or type selection number: 2 update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in manual mode.
すると・・・
$editor
として、GNU nano が起動され、editor のリンクが変わったことが分かります。
デフォルトとしてプライオリティが高いものにリンクがポイントしている状態を "auto mode"、 手動で、あえて低いプライオリティのコマンドにリンク先を設定している状態を "manual mode" といいます。
G Alternatives で簡単設定
と、少々前置きが長くなりましたが、G Alternatives は alternatives の設定を行う GUI ツールです。
上の例では次のように editor 候補が表示されます。
"Choice" を選ぶだけで OK です。
Ubuntu では次のコマンドでインストール可能です。
$sudo apt-get install galternatives