デフォルトアプリケーション
関連記事
特定のファイルタイプで使用するようにデフォルトアプリケーションを設定することが可能です (例: HTML
ファイルを表示するプログラムとして Firefox ウェブブラウザを設定)。ちゃんと設定することで、使用したいアプリケーションでファイルを素早く簡単に開いたり編集することができます。Linux でデフォルトアプリケーションを設定する方法は様々です。このページでは最も一般的な方法を説明します: ファイルマネージャ, MIME タイプ, 環境変数。
目次
MIME タイプとデスクトップエントリ
最近ではアプリケーションはデスクトップエントリを使って起動されます。この方法では、アプリケーションが開くことができるファイルの種類 (正確に言えば MIME タイプ) を定義できます。例えば gimp.desktop
には MimeType=image/bmp;image/gif;...
と記述されています。
freedesktop.org は Association between MIME types and applications の標準に従って特定の MIME タイプのデフォルトの (使いたい) アプリケーションを指定することを推奨しています。設定するには以下のパスにある mimeapps.list
という名前のファイルを探して書き込みを行う必要があります:
パス | 使用方法 |
---|---|
$HOME/.config/$desktop-mimeapps.list |
デスクトップごとに、ユーザーが定義します |
$HOME/.config/mimeapps.list |
ユーザーが定義します |
/etc/xdg/$desktop-mimeapps.list |
デスクトップごとに、システム管理者やソフトウェアが定義します |
/etc/xdg/mimeapps.list |
システム管理者やソフトウェアが定義します |
$HOME/.local/share/applications/$desktop-mimeapps.list |
デスクトップごとに、互換性のために存在しますが現在は非推奨です |
$HOME/.local/share/applications/mimeapps.list |
互換性のために存在しますが現在は非推奨です |
/usr/local/share/applications/$desktop-mimeapps.list と /usr/share/applications/$desktop-mimeapps.list |
ディストリビューションによるデフォルト、デスクトップごと |
/usr/local/share/applications/mimeapps.list と /usr/share/applications/mimeapps.list |
ディストリビューションによるデフォルト |
上の表にある、$VARS
は環境変数で $desktop
は使用しているデスクトップの名前です (小文字)。例: kde
, gnome
, xfce
など。
特定の MIME タイプのデフォルトアプリケーションを指定するには mimeapps.list
ファイルの [Default Applications]
グループに記述します。以下の例では、mimetype1
ではアプリケーション default1.desktop
または (default1 がインストールされていない場合) default2.desktop
が使われます:
[Default Applications] mimetype1=default1.desktop;default2.desktop
アプリケーションはセミコロンで区切って デスクトップファイル ID を使って指定します。
エントリが存在しない場合、次のパスの mimeapps.list
がチェックされます。全てのパスをチェックしても、エントリが存在しなかった場合、MIME タイプと関連付けられている .desktop ファイルからプログラムが選択されます。その際 mimeapps.list
ファイルに指定されている他のグループの追加・削除された関連付けが考慮されます:
[Added Associations] mimetype1=foo1.desktop;foo2.desktop;foo3.desktop mimetype2=foo4.desktop [Removed Associations] mimetype1=foo5.desktop
[Added Associations]
グループには MIME タイプとアプリケーションの追加の関連付けが定義されています。.desktop ファイルに最初から MIME タイプが記載されているかのように扱われます。[Removed Associations]
グループは MIME タイプとアプリケーションの関連付けを削除します。.desktop ファイルに最初から MIME タイプが記載されていなかったかのように扱われます。[Default Applications]
のエントリはアプリケーションと MIME タイプの関連付けの追加を同様にするものと考えてください。
ファイルマネージャ
ほとんどのファイルマネージャは,様々なファイルタイプに対して特定のアプリケーションをデフォルトのアプリケーションとして設定することができます。いつでも新たなデフォルトアプリケーションを設定することができます。例えば、Xfce の標準ファイルマネージャである thunar を使ってデフォルトアプリケーションを設定するには:
- 設定したいファイルタイプを持つファイルを
右クリック
する Open with another application
を選ぶ- 所望のアプリケーションを選ぶ
Use as default for this kind of file
チェックボックスにチェックが入っているか確認するOpen
ボタンをクリックする
PCManFM や spacefmAUR のような、他のほとんどのファイルマネージャでも一般的な手順は非常に似ています。
Gnome Control Center
Gnome コントロールセンターがインストールされている場合、gnome-control-center
を実行して System
> Details
> Default Applications
を開いてください。
gnome-defaults-list
gnome-defaults-listAUR は AUR からインストールできます。ファイルタイプと GNOME デスクトップのプログラムのリストが含まれています。リストは /etc/gnome/defaults.list
にインストールされます。
インストールされたファイルをテキストエディタで開いてください。特定のアプリケーションを適当なプログラムの名前で置き換えることができます。例えば、メディアプレイヤーの totem
を vlc
など他のアプリケーションで置き換えることが可能です。変更したファイルは ~/.local/share/applications/defaults.list
に保存してください。
xdg-open
xdg-open はデフォルトアプリケーションを起動するためのデスクトップ非依存のツールです。多くのアプリケーションは内部的に xdg-open
コマンドを呼び出しています。xdg-open は xdg-mime を使って ~/.local/share/applications/mimeapps.list
(他のファイルも使います。GNOME, KDE, LXDE などのメインストリームになっている DE を使っている場合、xdg-open は xdg-mime より先にデスクトップ環境のツールを試行します) から、開こうとしているファイルの MIME タイプと、その MIME タイプに関連付けられているデフォルトアプリケーションを確認します。
詳しくは xdg-open を見てください。
Mimeo
Mimeo はコマンドラインのファイル関連付けマネージャであり、ウェブブラウザやメールクライアントなどのアプリケーションからファイルを開くためのランチャーとして使うことができます。freedesktop.org の仕様 を順守していますが、一方で非推奨となっている (なのに未だに使われている) ~/.local/share/applications/mimeapps.list
もオプションでサポートしています。正規表現によるファイルの関連付けもサポートしており、任意の文字列をアプリケーションに関連付けることが可能です (例: YouTube の URL を VLC で開いたり、蛋白質データベースのファイルを PyMol で開くなど)。Mimeo は AUR からインストールしたり (mimeoAUR)、Xyne のリポジトリ からインストールできます。
ファイルの関連付けのカスタマイズ
以下は手動で MIME タイプとファイルの関連付けをカスタマイズする方法です。デスクトップに MIME タイプやファイルの関連付けのエディタをインストールしていない場合に有用です。この例では、架空のマルチメディアアプリケーション 'foobar' を *.foo
ファイルに関連付けます。設定は現在のユーザーでのみ反映されます。
まず ~/.local/share/mime/packages/application-x-foobar.xml
ファイルを作成:
$ mkdir -p ~/.local/share/mime/packages $ cd ~/.local/share/mime/packages $ touch application-x-foobar.xml
そして ~/.local/share/mime/packages/application-x-foobar.xml
を編集して以下の文章を追加:
<?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="https://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-foobar"> <comment>foo file</comment> <icon name="application-x-foobar"/> <glob-deleteall/> <glob pattern="*.foo"/> </mime-type> </mime-info>
アイコンは自由に使うことができます。他のアプリケーションのアイコンでもかまいません。
次に、~/.local/share/applications/foobar.desktop
ファイルを作成・編集して以下を記述:
[Desktop Entry] Name=Foobar Exec=/usr/bin/foobar MimeType=application/x-foobar Icon=foobar Terminal=false Type=Application Categories=AudioVideo;Player;Video; Comment=
Categories はアプリケーションのタイプにあわせて適当に設定してください (上記の例では、マルチメディアアプリケーション)。
そしてアプリケーションと MIME データベースを更新:
$ update-desktop-database ~/.local/share/applications $ update-mime-database ~/.local/share/mime
これで、ファイルマネージャなど、MIME タイプを使用するプログラムは *.foo
ファイルを foobar で開くようになります (変更を適用するにはファイルマネージャを再起動する必要があるかもしれません)。
複数のデスクトップ環境の設定を管理
.desktop ファイルの OnlyShowIn
フィールドを利用することができます。このページ を見て下さい。
環境変数を使う
グラフィカルでないプログラムのほとんどは EDITOR
や BROWSER
などの環境変数を使います。環境変数はターミナルの自動起動ファイルで設定できます (例: ~/.bashrc
):
~/.bashrc
export EDITOR="nano" export BROWSER="firefox"
トラブルシューティング
(ファイルマネージャにある) コンテキストメニューの「他のアプリケーションで開く」でアプリケーションが表示されない
ときどき、右クリックの他のアプリケーションで開くダイアログに特定のアプリケーションが表示されないことがあります。この問題を修正するには、/usr/share/applications
にある .desktop
ファイルを探して、root で編集し、Exec=
行の末尾に %U
を追加してください。例えば Kile の場合、/usr/share/applications/kde4/kile.desktop
を編集して Exec=kile
という行を Exec=kile %U
と変更する必要があります。この問題に気づいたときは、上流のプロジェクトにバグの報告をするようにしてください。
You may also have to edit the MimeType
list in the .desktop
file if you install extensions that allow an application to handle additional MIME types.