Ubuntuでupdate-alternativesコマンドを使ってデフォルトアプリを自由に切り替える方法
Linuxの魅力は何といっても自由度の高さです。プロプライエタリなOSでは、Webブラウザなどの各種アプリについてデフォルトが一方的に決められていることが多いですが、Linuxでは自分好みにシステムをカスタマイズするためのツールが用意されています。同じ種類のプログラムはいくつでもインストールでき、好きなものを選んで使えます。その実現を支えているのがupdate-alternativesという、選択肢を簡単に切り替えられる便利な仕組みです。
ここでは、Ubuntu(およびその他のDebian系ディストリビューション)での使い方を解説します。
update-alternativesシステムの仕組み
具体的な操作に入る前に、裏側で何が起きているのかを見てみましょう。例として、ターミナル用テキストエディタを提供する「editor」というオルタナティブがあります。
whereis editor
editor: /usr/bin/editor /usr/share/man/man1/editor.1.gz
このコマンドでテキストファイルを開くと、期待どおりの動作をします。
sudo editor /etc/fstab
これでファイルシステムの設定ファイルがテキストエディタで開かれます…が、どのエディタで開かれたのでしょうか? 下記の環境ではnanoで開かれました。
実はeditorコマンドはシンボリックリンク(シムリンク)です。「nanoへのリンクでは?」と思うかもしれませんが、そうではありません。/usr/bin/editorは/etc/alternatives/editorへのリンクになっています。/etc/alternativesディレクトリには、システム上のすべてのオルタナティブがシンボリックリンクとして管理されており、これらのリンクが実際のプログラムを指しています。つまり、「PATH上のリンク」→「alternativesディレクトリ内のリンク」→「実際のプログラム」という二段構造になっているのです。
お察しのとおり、update-alternativesはこうしたリンクを管理するためのツールです。早速使い方を見ていきましょう。
update-alternativesの基本的な使い方
よく使うupdate-alternativesコマンドは、次のような形式になります。
sudo update-alternatives [option] [alternative(s)]
「alternative(s)」は対象となるプログラムのグループ名、optionはそれに対して行いたい操作です。引き続きeditorを例に、まず全体像を把握しましょう。--displayオプションで詳細を確認できます。
update-alternatives --display editor
先頭の行にはeditorコマンド自体のパスと、現在リンクされている内容が表示されます。ただしmanページの翻訳なども含まれるため情報量が多く、もう少し絞り込んだ--listコマンドの方が分かりやすいでしょう。
update-alternatives --list editor
これでnanoがeditorの候補として登録されていることが確認できます。ほかに何が使えるのでしょうか? ここではVIMを含む3つの選択肢が表示されました。--configオプションを使えば、editorが呼び出すプログラムをVIMに変更できます。
sudo update-alternatives --config editor
対話式のメニューから新しい候補を選択できます。使いたいプログラムが決まっているなら、--setオプションで直接指定することも可能です。
sudo update-alternatives --set editor /usr/bin/vim.basic
次に、試してみるとよさそうなオルタナティブをいくつか紹介します。
覚えておきたい主なオルタナティブ
前述のとおり、update-alternativesシステムを利用しているパッケージはすでに数多くあります。システム管理に役立ちそうなものをいくつか挙げます。
update-alternatives --config java
特定バージョンのJavaを前提とする(または必須とする)プログラムも少なくありません。Ubuntu系システムでは、リポジトリから複数バージョンのOpenJDK(オープンソース版Java)をインストールできるほか、Oracle公式JREも手動で複数バージョン導入できます。後者をオルタナティブとして登録しておけば、Java環境をその場で切り替えられます。
注意: Java関連のオルタナティブは複数あり、まとめて更新する必要があります。Java固有の作業を自動で処理してくれる便利なツールupdate-java-alternativesを活用しましょう。
update-alternatives --config x-www-browser/gnome-www-browser
説明するまでもなく、これはデフォルトのWebブラウザを設定するためのものです。GNOMEベースのデスクトップ環境を使っている場合は、gnome-www-browserも併せて確認しておきましょう。
update-alternatives --config mozilla-flashplugin
良し悪しは別として、Flashを使用しているサイトはまだ多く存在します。この設定により、Adobe公式版とgnashなどのオープンソース版を切り替えられます。
利用可能なオルタナティブの一覧と現在の設定をすべて確認したい場合は、次のコマンドを実行します。
update-alternatives --get-selections
オルタナティブのカスタマイズ
Canonicalが用意した選択肢を管理するだけでも十分便利ですが、自分独自のオルタナティブを作れないのでは自由とは言えませんよね。ここからは、独自のオルタナティブグループを追加・削除する方法を解説します。
システムへのオルタナティブの追加
対応パッケージをインストールすると、オルタナティブは自動的にシステムへ登録されます。たとえばemacsをインストールすると、インストールスクリプトが/etc/alternativesに必要なエントリと優先度を自動的に作成します。
しかし、冒険心があるなら自分でオルタナティブを作ることもできます。その場合、登録作業はすべて手動で行う必要がある点に注意してください。たとえばx-word-processorという新しいオルタナティブを作ったら、最初のプログラムも以降のプログラムも手動で追加します。削除も同様に手動で行います。放置すると、存在しなくなったプログラムを参照したままになる恐れがあります。
試しにx-word-processorというグループを作成し、優秀なLibreOffice Writerを1つ目の候補として登録してみましょう。コマンドは以下のとおりです。
sudo update-alternatives --install /usr/bin/word-processor x-word-processor /usr/bin/lowriter 40
このコマンドによって以下が作成されます。
- word-processorという新しいコマンド(実際はシンボリックリンク)
- x-word-processorという新しいオルタナティブグループ
- グループに含まれ、デフォルトとなるアプリケーション/usr/bin/lowriter
- 優先度40
これでコマンドラインからword-processorを実行すると、LibreOffice Writer(上記のlowriter)が起動します。同じコマンドで他のプログラム(たとえばテキストモードのワープロwordgrinder)も追加できます。その際は実際のアプリケーションのパスを適宜変更してください。
sudo update-alternatives --install /usr/bin/word-processor x-word-processor /usr/bin/wordgrinder 20
この状態でx-word-processorグループを照会すると、2つの候補が表示されます。
デフォルトではグループは「auto」モードになっており、システムは登録されている候補の中で最も高い優先度(数値)を持つものを使用します。この例ではLibreOffice(40)がwordgrinder(20)よりも優先されます。前述の--configオプションでこの動作を変更できます。
システムからのオルタナティブの削除
不要になった候補は、--removeオプションを使った簡単なコマンドで削除できます。
sudo update-alternatives --remove x-word-processor /usr/bin/wordgrinder
さらに、--remove-allオプションを使うと、グループ全体とその中のすべての候補を一括で削除できます。
sudo update-alternatives --remove-all x-word-processor
なお、これらのコマンドで削除されるのはupdate-alternativesのエントリのみで、リンク先のプログラム自体は削除されません。
update-alternativesを使ったことはありますか? オルタナティブ関連のコツやテクニックがあれば、ぜひコメントで教えてください!
画像クレジット: momente via Shutterstock.com
-
Androidでデフォルトアプリを変更する4つの方法を徹底解説
```html Androidは豊富なアプリライブラリで人気のOSです。Google Playストアには同じ目的を持つアプリが数百種類も公開されており、それぞれが独自の機能を備え、ユーザーごとに異なる魅力を提供しています。Android端末には、インターネット閲覧、動画視聴、音楽再生、ドキュメント編集など、さまざまな作業をサポートするデフォルトアプリが最初から搭載されていますが、実際にはあまり使われていないのが実情です。多くの人は使い慣れた別のアプリを選ぶ傾向があるため、同じ端末内に同じ役割を持つ複数のアプリが共存することになります。 ファイルをタップしたときに、「どのアプリで開きますか?」と
-
Windowsの外字エディタでオリジナルフォントを作成する方法【無料・追加アプリ不要】
サードパーティ製アプリをインストールせずに、しかも無料でオリジナルフォントを作りたいと思ったことはありませんか?その答えとなるのが、Windowsに標準搭載されている「外字エディタ(Private Character Editor)」です。これはカスタムフォントや独自の文字を作成するために設計されたWindows内蔵アプリケーションで、MicrosoftはWindows 7の時代からこのツールを搭載しており、Windows 10でも引き続き利用できます。 外字エディタはWindows OSにプリインストールされており、数あるフォント作成ツールの中でも最も手軽に使えるものの一つです。完全無料で、