xdg-utils

提供: ArchWiki
Xdg-openから転送)
ナビゲーションに移動 検索に移動

xdg-utilsXDG MIME Applications を管理するための公式のユーティリティを提供しています。

  • xdg-desktop-menu(1) - デスクトップメニュー項目のインストールする
  • xdg-desktop-icon(1) - デスクトップエントリ を各ユーザーのデスクトップにコピーする
  • xdg-email(1) - ユーザが設定しているメールクライアントを通じて、件名やその他の情報も埋めつつメールを作成する
  • xdg-icon-resource(1) - アイコンリソースをインスールする
  • xdg-mime(1) - MIME タイプとそれに結びついているアプリケーションなどを検索する
  • xdg-open(1) - ファイルやURIをユーザーが設定しているアプリケーションで開く
  • xdg-screensaver(1) - スクリーンセーバを有効化、無効化、サスペンドさせる
  • xdg-settings(1) - デフォルトのウェブブラウザや URL ハンドラを設定、取得する

インストール

xdg-utilsインストール してください。

使い方

環境変数

ノート: 正常に機能するデスクトップ環境では、これらの変数が自動的に設定されるはずです。このセクションは、xdg-utils の動作を理解すること、つまりトラブルシューティングの目的でのみ必要です。

xdg-utils は、該当する場合、提供される特殊なプログラムを呼び出すことにより、デスクトップ環境 との統合を試みます。現在の環境の評価は次のとおりです [1]:

  • 標準化された XDG_CURRENT_DESKTOP 環境変数が認識されたデスクトップ環境に設定されている場合、対応する値が使用されます。
  • KDE の KDE_FULL_SESSION のような古典的なフォールバックや環境固有の変数が存在する場合、対応する値が使用されます。
  • レガシーな DESKTOP_SESSION 環境変数が、認識されているデスクトップ環境に設定されている場合、対応する値が使われます。

このプロセスの間、一致するものがあれば、DE 変数は検出されたデスクトップ環境の正規化された値で内部的に上書きされます。したがって、DE はレガシー環境変数であり、xdg-utils の内部状態変数でもあります。例として、XDG_CURRENT_DESKTOPKDE の場合、xdg-utils は内部的に DEkde に設定します。一致するものが見つからない場合、既存の XDG_CURRENT_DESKTOP=KDE の値が使用され、XDG_CURRENT_DESKTOP=KDEXDG_CURRENT_DESKTOP が設定されていないのと等しく、DE=kde となります。この実装の詳細は、デスクトップ環境が検出された場合、事前に設定された DE は無視される という結果をもたらしますので、注目に値します。

xdg-utils が認識する変数の値は次のとおりです:

デスクトップ環境 XDG_CURRENT_DESKTOP DE DESKTOP_SESSION
X-Generic1 generic
Cinnamon Cinnamon, X-Cinnamon cinnamon
Deepin Deepin, DEEPIN, deepin1 deepin
Enlightenment ENLIGHTENMENT1 enlightenment
GNOME GNOME2 gnome gnome
GNOME Flashback GNOME-Flashback, GNOME-Flashback:GNOME2 gnome gnome
KDE Plasma KDE kde
LXDE LXDE lxde LXDE
LXQt LXQt lxqt
MATE MATE mate mate
Xfce XFCE xfce xfce, xfce4, Xfce Session
  1. これは freedesktop.org に登録された環境ではありません。
  2. GNOME Classic モードを含む GNOME のバリエーションは、xdg-utils によってすべて同じものとみなされます。

これは、xdg-utils によって提供されるスクリプトが 検出 できるもののリストにすぎないことに注意してください。スクリプトは、次の条件下でも、環境に依存しない一般的なアクションを実行します:

  • 汎用ルーチンがXDG_CURRENT_DESKTOP=X-Generic または DE=generic で要求された。
  • 環境検出に失敗。関連する環境変数はすべて認識されないか未設定で、古典的なフォールバックでは何もわからなかった。
  • 環境固有のアクションは実行されましたが、プログラムが見つからないなどの理由で失敗しました。

xdg-mime

xdg-mime(1) を参照してください。

ファイルの MIME タイプを確認するには:

$ xdg-mime query filetype photo.jpeg
image/jpeg

MIME タイプについてデフォルトのアプリケーションを確認するには:

$ xdg-mime query default image/jpeg
gimp.desktop

MIME タイプについてデフォルトのアプリケーションを設定するには:

$ xdg-mime default feh.desktop image/jpeg

MIME タイプのデフォルトアプリケーションをデバッグするには:

$ env XDG_UTILS_DEBUG_LEVEL=10  xdg-mime query default text/html
Checking /home/user/.config/mimeapps.list
Checking /home/user/.local/share/applications/defaults.list and /home/user/.local/share/applications/mimeinfo.cache
Checking /usr/local/share/applications/defaults.list and /usr/local/share/applications/mimeinfo.cache
Checking /usr/share/applications/defaults.list and /usr/share/applications/mimeinfo.cache
qutebrowser.desktop

ファイルの MIME タイプを決定する必要がある場合、xdg-mime はデスクトップ環境に適したプログラムを使用しようとします:

デスクトップ環境 プログラム パッケージ
Cinnamon gio glib2
GNOME
GNOME Flashback
LXDE
MATE
Xfce
Deepin
Enlightenment
LXQt
KDE Plasma kmimetypefinder kde-cli-tools

一般的なケースでは、xdg-mime は次のことを行います:

xdg-open

xdg-open は、 XDG MIME Applications を実装しており多くのプログラムで利用されている リソースオープナー です。使い方は xdg-open(1) を参照して下さい。

xdg-open は、それぞれのデスクトップ環境のネイティブのデフォルトアプリケーションツールを使うようになっており、デスクトップ環境からは独立したツールになっています。

デスクトップ環境が検出されなかった場合は、MIME タイプの検出は XDG 標準では実装されていない file を使うようになります。XDG MIME Applications をデスクトップ環境以外で xdg-open を使いたい場合は、 perl-file-mimeinfo やこれをサポートする リソースオープナーインストールする必要があります。


xdg-open(1) は多くのアプリケーションで使用される リソースオープナー であり、システムのデスクトップ環境と可能な限り統合しながら XDG MIME アプリケーション標準を実装します。

デスクトップ環境が検出された場合、その提供されたハンドラーが呼び出されます [2]:

デスクトップ環境 プログラム パッケージ
Cinnamon gio glib2
GNOME
GNOME Flashback
MATE
Deepin dde-open deepin-api
Enlightenment enlightenment_open enlightenment
KDE Plasma kde-open1 kde-cli-tools
LXDE pcmanfm pcmanfm
LXQt
Xfce exo-open2 exo
  1. もし KDE_SESSION_VERSION が設定されていない場合、konquerorkfmclient が代わりに使われます。KDE Plasma はどのような状況でもこの変数を設定する必要があります。
  2. glib2gio も試されます。

一般的なケースでは、xdg-open は次のようになります。

  • リソースに関連付けられたデフォルトのデスクトップエントリを xdg-mime に問い合わせ、デスクトップエントリを解析し、そのコマンドを実行する。
  • もし存在すれば、run-mailcap に委譲します。run-mailcapAUR パッケージが インストール されている必要があります。
  • もし存在すれば、mimeopen に委譲します。perl-file-mimeinfo パッケージが インストール されている必要があります。
ヒント: xdg-open がどのバックエンドを使用するかを確認するには、XDG_UTILS_DEBUG_LEVEL=3 を設定します。

xdg-mimeXDG MIME Applications 標準を実装するために perl-file-mimeinfo パッケージに依存しているため、デスクトップ環境を使用していない場合は、perl-file-mimeinfo、を インストール または別の リソースオープナー を検討してください。

xdg-settings

xdg-settings(1) を参照して下さい。

全てのウェブ MIME タイプを1つのアプリケーションで開くように設定するには:

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

URL スキームを開くデフォルトのアプリケーションを設定するには:

$ xdg-settings set default-url-scheme-handler irc xchat.desktop

ヒントとテクニック

URL スキームハンドラー

URL スキームのデフォルトのアプリケーションを設定するには、x-scheme-handler/* MIME タイプのデフォルトのアプリケーションを変更する必要があるかもしれません。

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