\r\n\r\n
Linuxは自由が売り物です。プロプライエタリなOSでは、アプリケーションの種類(ウェブブラウザなど)ごとにデフォルトを指定する傾向がありますが、Linuxでは、システムを自分好みにカスタマイズするためのツールが用意されています。プログラムの種類はいくつあってもいいはずです。そこで登場したのが、簡単にオプションを切り替えられるアップデートオルタナティブです。
ここでは、Ubuntu(およびその他のDebianベースのシステム)での使用方法を説明します。
さまざまな選択肢を掘り下げる前に、その舞台裏を覗いてみましょう。また、別のエディターとして、端末ベースのテキストエディタも提供されています。
whereis editoreditor: /usr/bin/editor /usr/share/man/man1/editor.1.gzこのコマンドでテキストファイルを開くと、まさに期待通りの結果が得られます。
sudo editor /etc/fstabこれは、ファイルシステムの設定ファイルをテキストエディタで開きますが、どのエディタですか? 以下のシステムでは、nanoで開きます。
editorコマンドは、実際にはシンボリックリンクです。と聞かれるかもしれませんが、ナノリンクはあるのでしょうか?ダメだ!usr/bin/editor というコマンドは、/etc/alternatives/editor へのリンクです。etc/alternativesディレクトリは、システム上のすべてのalternativesがシンボリックリンクとして管理される場所です。これらのリンクは、実際の不具合のあるプログラムを指しています。つまり、プログラムへのリンク(自分のパス内)→リンク(オルタネートディレクトリ内)なのです。
ご推察の通り、updatealternativesはこれらのリンクを管理するためのツールです。それでは、その使い方をみていきましょう。
使用する更新置換コマンドのほとんどは、次のパターンに従っています。
sudo update-alternatives [option] [alternative(s)]上記の例では、オプションは最終的に使用するプログラムを指します。このオプションは、あなたが使いたいものです。エディタコンポーネントの使い方に移るために、いじり始める前に雰囲気を掴んでおきましょう。表示オプションで詳細を確認することができます。
update-alternatives --display editor一番上の行は、エディタコマンド自体のパスと、現在のリンクの内容を示しています。でも、manページの翻訳など、いろいろなものが入っているんですよ。リストコマンドをより絞ることで、より分かりやすくなりました。
update-alternatives --list editorここでは、エディタの代わりとしてnanoが確かにリストアップされていることがわかります。しかし、他に何を使えばいいのでしょうか?これでVIMを含む3つの選択肢ができました。configオプションを使って、VIMプログラムを呼び出すエディタを再指定することができます。
sudo update-alternatives --config editorインタラクティブメニューで新しいオプションを選択するか、必要な手順がわかっている場合は、「設定」オプションを使用します。
sudo update-alternatives --set editor /usr/bin/vim.basic次に、試してみたい代用品を紹介します。
先に述べたように、updatealternativesシステムを使用するパッケージはすでに多数存在します。システムを管理する際に役立つと思われる方法を紹介します。
update-alternatives --config javaプログラムによっては、特定のバージョンのJavaをインストールする必要があります。Ubuntuベースのシステムでは、リポジトリから複数のバージョンのOpenJDK(Open Source Java)をインストールしたり、複数のバージョンの公式oraclejreを手動でインストールしたりすることが可能です。後者をオプションとして設定することで、実行時にどのJava環境でプログラムを起動するかを切り替えることができます。
注:Javaに関連する代替案がいくつかあるので、一緒に更新する必要があります。Convenience Application Update javaの代替品で、java特有の作業を行うことができますので、チェックしてみてください。
update-alternatives --config x-www-browser/gnome-www-browserごく簡単に言うと、デフォルトのWebブラウザーを設定することができます。GNOME ベースのデスクトップで作業しているのであれば、gnomewww ブラウザも見ておくと良いでしょう。
update-alternatives --config mozilla-flashplugin良くも悪くもFlashを使用しているサイトはまだまだ多いので、Adobeの公式版とgnashのようなオープンソース版の切り替えに役立つと思います。
利用可能なすべてのオプションに興味がある場合は、現在の設定でそれらをリストアップするために以下を試してみてください。
update-alternatives --get-selecti***Canonicalが与えてくれる選択肢を管理するのは素晴らしいことです。でも、自分で作れないと、自由とは言えませんよね?次のセクションでは、独自のオプショングループを追加および削除する方法について説明します。
対応パッケージをインストールすると、システムが自動的に代替品を追加してくれます。例えば、emacsをインストールする場合、インストールの過程で、/etc/alternativesに優先順位を含む必要なオプションを作成するスクリプトが実行されます。
しかし、冒険心をもってすれば、自分でオプションを作ることも可能です。その場合、これらの選択肢を手動で入力する必要があることを心に留めておく必要があります。例えば、x-word-processorという新しい代替プログラムを作成する場合、最初のプログラムとその後のすべてのプログラムを手動で追加する必要があります。また、それらを削除しないと、もう存在しないプログラムを指す代替プログラムを見つけることができるかもしれません。
以下のように、x ワードプロセッサーというグループと、別のオプション(この場合は優れた LibreOffice Writer)を追加してみましょう。
sudo update-alternatives --install /usr/bin/word-processor x-word-processor /usr/bin/lowriter 40このコマンドは、作成します。
コマンドラインからワープロを呼び出すと、libreofficewriter(上記ではlowriterと指定)が起動します。同じコマンドを使用して、必要に応じて実際のアプリケーションへのパスを変更し、他のアプリケーション(例えば、テキストモードのワードプロセッサwordgrinder)を追加することができます:。
sudo update-alternatives --install /usr/bin/word-processor x-word-processor /usr/bin/wordgrinder 20クエリ×ワープロのグループには、この2つのオプションが表示されるようになりました。
デフォルトでは、グループは「自動」モードになっており、システムはそのグループに含まれる(番号で)最も優先度の高いオプション(この場合、LibreOffice(40、wordgrinderは20))を使用することを意味します。この設定は、前述のコンフィグオプションで変更することができます。
もし、あるオプションが不要だと判断したら、removeオプションを使った簡単なコマンドで、そのオプションを削除することができます。
sudo update-alternatives --remove x-word-processor /usr/bin/wordgrinder最後に、remove allオプションを指定すると、グループ全体が、そのオプションも含めて削除されます。
sudo update-alternatives --remove-all x-word-processorこれらのオプションは、updatealternativesのエントリーを削除しますが、それらがリンクされているプログラムは削除しないことに注意してください。
オルタネイティブを実際に使ってアップデートしたことがありますか?オルタネイティブの使い方に関連したヒントがあれば、コメントで教えてください。
画像引用元:Momente via Shutterstock.com ウェブサイト