デフォルトアプリケーション

提供: ArchWiki
2015年2月13日 (金) 16:40時点におけるKusakata (トーク | 投稿記録)による版 (ページの作成:「Category:デスクトップ環境 en:Default applications zh-cn:Default Applications {{Related articles start}} {{Related|デスクトップ環境}} {{Related...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

関連記事

特定のファイルタイプで使用するようにデフォルトアプリケーションを設定することが可能です (例: HTML ファイルを表示するプログラムとして Firefox ウェブブラウザを設定)。ちゃんと設定することで、使用したいアプリケーションでファイルを素早く簡単に開いたり編集することができます。Linux でデフォルトアプリケーションを設定する方法は様々です。このページでは最も一般的な方法を説明します: ファイルマネージャ, MIME タイプ, 環境変数。

MIME タイプとデスクトップエントリ

最近ではアプリケーションはデスクトップエントリを使って起動されます。この方法では、アプリケーションが開くことができるファイルの種類 (正確に言えば MIME タイプ) を定義できます。例えば gimp.desktop には MimeType=image/bmp;image/gif;... と記述されています。

freedesktop.orgAssociation 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, etc。

The default application for a given MIME-type is specified by writing into the group [Default Applications] in the mimeapps.list file. In the following example, application default1.desktop (if it is installed) will be used for mimetype1, and otherwise default2.desktop (if it is installed and default1.desktop is not):

[Default Applications]
mimetype1=default1.desktop;default2.desktop

The applications are written as a semicolon-separated list of desktop file IDs.

In the absence of such an entry, the next mimeapps.list in the path hierarchy will be checked. Once all levels have been checked, if no entry could be found, then programs can pick any of the .desktop files associated with the MIME-type, taking into account added and removed associations as per these other groups which may be specified in mimeapps.list files:

[Added Associations]
mimetype1=foo1.desktop;foo2.desktop;foo3.desktop
mimetype2=foo4.desktop
[Removed Associations]
mimetype1=foo5.desktop

The [Added Associations] group defines additional associations of applications with MIME-types, as if the .desktop file was listing this MIME-type in the first place. The [Removed Associations] group removes associations of applications with MIME-types, as if the .desktop file was not listing this MIME-type in the first place. The entries in [Default Applications] should also be considered to add an association between application and MIME-type in the same manner.

ノート:
  • Arch Linux itself does not provide any system-wide preferences for associations, but other distributions and specific desktop environments may do so via mimeapps.list or the older but deprecated defaults.list files.
  • As the standards for setting default applications have been recently changed, not all programs will comply with them yet. Indeed, the programs provided by freedesktop.org's xdg-utils package do not fully follow their own standards!
  • Your choice of desktop environment, or none, will also affect how your default applications are stored.
  • When the program update-desktop-database is run (usually as root during the (un)installation of a package), it updates files called mimeinfo.cache in the /usr/local/share/applications and /usr/share/applications directories. These files keep track of which MIME-types are associated with which .desktop files overall. This file should not be edited by the user.

ファイルマネージャ

Most file managers will allow for specific applications to be set as the defaults for various file types. New defaults may also be set at any time. For example, to set a default application using thunar, the native file manager for Xfce:

  • right-click the file-type desired
  • Select Open with another application
  • Select the desired application
  • Ensure that the Use as default for this kind of file check-box is ticked
  • Click the Open button.

The general process will be very similar for most other popular file managers, including PCManFM and spacefm.

Gnome Control Center

If it's installed, run gnome-control-center, open System > Details > Default Applications.

gnome-defaults-list

gnome-defaults-listAUR is available from the AUR, and contains a list of file-types and programs specific to the GNOME desktop. The list is installed to /etc/gnome/defaults.list.

Open this file with a text editor. Here you can replace a given application with the name of the program of your choice. For example, the media-player totem can be replaced with another, such as vlc. Save the file to ~/.local/share/applications/defaults.list.

xdg-open

xdg-open is a desktop-independent tool for starting default applications. Many applications invoke the xdg-open command internally. xdg-open uses xdg-mime to query ~/.local/share/applications/mimeapps.list (among other things; if you use a mainstream DE like GNOME, KDE or LXDE, xdg-open might try using their specific tools before xdg-mime) to find the MIME type of the file that is to be opened and the default application associated with that MIME type.

See xdg-open for more information.

ファイルの関連付けのカスタマイズ

The following method creates a custom mime type and file association manually. This is useful if your desktop does not have a mime type/file association editor installed. In this example, a fictional multimedia application 'foobar' will be associated with all *.foo files. This will only affect the current user.

First, create the file ~/.local/share/mime/packages/application-x-foobar.xml:

$ mkdir -p ~/.local/share/mime/packages
$ cd ~/.local/share/mime/packages
$ touch application-x-foobar.xml

Then edit ~/.local/share/mime/packages/application-x-foobar.xml and add this text:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://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>

Note that you can use any icon, including one for another application.

Next, edit or create the file ~/.local/share/applications/foobar.desktop to contain something like:

[Desktop Entry]
Name=Foobar
Exec=/usr/bin/foobar
MimeType=application/x-foobar
Icon=foobar
Terminal=false
Type=Application
Categories=AudioVideo;Player;Video;
Comment=

Note that Categories should be set appropriately for the application type (in this example, a multimedia app).

Now update the applications and mime database with:

$ update-desktop-database ~/.local/share/applications
$ update-mime-database    ~/.local/share/mime

Programs that use mime types, such as file managers, should now open *.foo files with foobar. (You may need to restart your file manager to see the change.)

複数のデスクトップ環境の設定を管理

The OnlyShowIn field of a .desktop file may be useful; see this page.

環境変数を使う

グラフィカルでないプログラムのほとんどは EDITORBROWSER などの環境変数を使います。環境変数はターミナルの自動起動ファイルで設定できます (例: ~/.bashrc):

~/.bashrc
export EDITOR="nano"
export BROWSER="firefox"

トラブルシューティング

(ファイルマネージャにある) コンテキストメニューの「他のアプリケーションで開く」でアプリケーションが表示されない

Sometimes, a certain application will not appear in the right-click Open With... dialog. To fix this problem, locate the .desktop file in /usr/share/applications, edit it as root, and add %U to the end of the Exec= line. For example, Kile currently has this problem; you need to edit /usr/share/applications/kde4/kile.desktop and change the line reading Exec=kile to read Exec=kile %U. Also, please file a bug against the upstream project if you notice this problem.

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.