xdg-open (日本語) - ArchWiki

# xdg-open (日本語)

関連記事

- デフォルトのアプリケーション
- 環境変数

xdg-open はユーザーのデフォルトアプリケーションを設定するデスクトップ非依存のツールです。多くのアプリケーションは内部的に `xdg-open` コマンドを実行しています。

デスクトップ環境 (例: GNOME, KDE, Xfce) の中では、xdg-open は引数をデスクトップ環境のファイルオープンアプリケーション (それぞれ gvfs-open, kde-open, exo-open) に渡しているだけで、関連付けはデスクトップ環境に委ねられています。デスクトップ環境が検出されなかったときに (例えば Openbox などのスタンドアロンなウィンドウマネージャを使用している時)、xdg-open は固有の設定ファイルを使用します。

## インストール

xdg-open は公式リポジトリに入っている xdg-utils パッケージに含まれています。デスクトップセッションの中だけで使用し、root では実行しないで下さい。

デスクトップ環境を使わずに xdg-open を実行する場合は、より高速な代替アプリケーションとして AUR から perl-file-mimeinfo, xdg-utils-mimeo, mimeo などもインストールすることを推奨します。

## 設定

xdg-open はデフォルトアプリケーションで説明されている設定ファイルを使います。xdg-mime を使うことでこのファイルを編集できます。

### サンプル

#### mime タイプを取得

`photo.jpg` の mime タイプを取得するには:

    $ xdg-mime query filetype photo.jpg

    photo.jpg
        image/jpeg

#### デフォルトのアプリケーションを取得

`image/jpeg` mime タイプのデフォルトで起動する .desktop ファイルを取得するには:

    $ xdg-mime query default image/jpeg

    gpicview.desktop;

#### デフォルトのファイルブラウザを設定

Thunar をデフォルトのファイルブラウザにするには (フォルダを開くときのデフォルトアプリケーションを設定するには):

    $ xdg-mime default Thunar.desktop inode/directory

#### デフォルトの PDF ビューアを設定

xpdf をデフォルトの PDF ビューアとして使うには:

    $ xdg-mime default xpdf.desktop application/pdf

#### デフォルトのブラウザを設定

`http(s)://` リンクのデフォルトアプリケーションを設定するには:

    $ xdg-mime default browser.desktop x-scheme-handler/http
    $ xdg-mime default browser.desktop x-scheme-handler/https

`.html` ファイルのデフォルトアプリケーションを設定するには:

    $ xdg-mime default browser.desktop text/html

もしくは、次を実行:

    $ xdg-settings set default-web-browser browser.desktop

設定が適用されたかどうかテストするには、以下のように xdg-open で URL を開いてみて下さい:

    $ xdg-open https://archlinux.org

## 代替アプリケーションと便利なツール

### xdg-open の代替

名前/パッケージ | 説明 | 依存 | 設定ファイル
--- | --- | --- | ---
busking-git | シンプルな、正規表現ベースの xdg-open 代替。 | perl-file-mimeinfo | カスタム
expro | オブジェクト名や MIME タイプに正規表現をマッチさせて関連付けられたアプリケーションでオブジェクトを開く。 | file (ただし代替を選択可能) | カスタム
linopen | スマートで xdg-open よりかはマシな代替。 | file | カスタム
mimeo | 正規表現を使って MIME タイプやファイル名でファイルを開く。そのまま使うことも xdg-utils-mimeo を通すことも可能。 | file | 通常は `mimeapps.list` または `defaults.list`。カスタムは任意
mimi-git | ちゃんと使える xdg-open の代替。 | file | カスタム
ayr | アプリケーションランチャーのメニューや実行可能ファイル、デスクトップファイルを管理。また、名前や MIME タイプで関連付けられたランチャー、デスクトップファイル、アプリケーションを使ってファイルや URI を開きます。xdg-open を置き換えるラッパースクリプトとして使えます。 | file や perl-file-mimeinfo。代替やフォールバックも設定可能。 | XDG 標準の `mimeapps.list` と `mimeinfo.cache` (もしくは古い `defaults.list`) で MIME タイプの関連付けを判断します。任意で正規表現を使ってファイルや URI 名をアプリケーションにマッチさせることもできます。
sx-open | bash によるとてもシンプルな xdg-open 代替。 | file と bash 正規表現 | カスタム

### run-mailcap

mutt メールプログラムで使われている .mailcap ファイルフォーマットは読み書きが簡単です。AUR の run-mailcap パッケージは簡単に `/usr/bin/xdg-open` にシンボリックリンクを作成できる実行可能ファイルを提供していますが、パーサーはディレクトリやリンクを扱うことはできません。AUR から mimeo もインストールして以下の内容で `/usr/bin/xdg-open` を作成するのが一番簡単です:

    #!/bin/sh
    run-mailcap $1 || mimeo $1

アプリケーションと URL や フォルダ、通常の mime タイプでの .mailcap ファイルの関連付けは `~/.local/share/applications/` の `defaults.list` を使用します。

### mimetype

perl-file-mimeinfo パッケージの mimetype はファイルの mime タイプに関連する情報を表示することができます。

例えば:

    $ mimetype file.ext

上のコマンドはファイルの mime タイプを返します。

    $ mimetype -d file.extension

上のコマンドは mime タイプの説明を返します。

xdg-open がデスクトップ環境を検出できなかった場合、通常は `file -i` の使用にフォールバックして、ファイルの中身だけを使って mime タイプを判断します。結果としてファイルタイプによっては正しく検出されないことがあります。mimetype を使えるようにしておけば、xdg-open は代わりに mimetype を使うので、共有 mime 情報データベースの情報が使用され、より良い検出結果を得ることができます。

### 環境変数

`BROWSER`, `DE`, `DESKTOP_SESSION` などの環境変数はデフォルトの xdg-open の挙動を変更します。詳しくは環境変数を見て下さい。

Category:

- Desktop environments (日本語)