コンテンツにスキップ

「Xdg-utils」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
→xdg-mime: add pkg
Kgx (トーク | 投稿記録)
環境変数を翻訳して追加
17行目: 17行目:


{{Pkg|xdg-utils}} を [[インストール]] してください。
{{Pkg|xdg-utils}} を [[インストール]] してください。

=== 環境変数 ===

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

''xdg-utils'' は、該当する場合、提供される特殊なプログラムを呼び出すことにより、[[デスクトップ環境]] との統合を試みます。現在の環境の評価は次のとおりです [https://gitlab.freedesktop.org/xdg/xdg-utils/-/blob/d11b33ec7f24cfb1546f6b459611d440013bdc72/scripts/xdg-utils-common.in#L270-L364]:
* 標準化された [[XDG_CURRENT_DESKTOP]] 環境変数が認識されたデスクトップ環境に設定されている場合、対応する値が使用されます。
* KDE の {{ic|KDE_FULL_SESSION}} のような古典的なフォールバックや環境固有の変数が存在する場合、対応する値が使用されます。
* レガシーな [[環境変数#例|DESKTOP_SESSION]] 環境変数が、認識されているデスクトップ環境に設定されている場合、対応する値が使われます。

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

''xdg-utils'' が認識する変数の値は次のとおりです:
{| class="wikitable"
! デスクトップ環境 !! {{ic|XDG_CURRENT_DESKTOP}} !! {{ic|DE}} !! {{ic|DESKTOP_SESSION}}
|-
| {{-}} || {{ic|X-Generic}}<sup>1</sup> || {{ic|generic}} || {{-}}
|-
| [[Cinnamon]] || {{ic|Cinnamon}}, {{ic|X-Cinnamon}} || {{ic|cinnamon}} || {{-}}
|-
| [[Deepin]] || {{ic|Deepin}}, {{ic|DEEPIN}}, {{ic|deepin}}<sup>1</sup> || {{ic|deepin}} || {{-}}
|-
| [[Enlightenment]] || {{ic|ENLIGHTENMENT}}<sup>1</sup>|| {{ic|enlightenment}} || {{-}}
|-
| [[GNOME]] || {{ic|GNOME}}<sup>2</sup> || {{ic|gnome}} || {{ic|gnome}}
|-
| [[GNOME Flashback]] || {{ic|GNOME-Flashback}}, {{ic|GNOME-Flashback:GNOME}}<sup>2</sup> || {{ic|gnome}} || {{ic|gnome}}
|-
| [[KDE Plasma]] || {{ic|KDE}} || {{ic|kde}} || {{-}}
|-
| [[LXDE]] || {{ic|LXDE}} || {{ic|lxde}} || {{ic|LXDE}}
|-
| [[LXQt]] || {{ic|LXQt}} || {{ic|lxqt}} || {{-}}
|-
| [[MATE]] || {{ic|MATE}} || {{ic|mate}} || {{ic|mate}}
|-
| [[Xfce]] || {{ic|XFCE}} || {{ic|xfce}} || {{ic|xfce}}, {{ic|xfce4}}, {{ic|Xfce Session}}
|}

# これは [https://specifications.freedesktop.org/menu-spec/latest/apb.html freedesktop.org に登録された環境ではありません。]
# ''GNOME Classic'' モードを含む GNOME のバリエーションは、''xdg-utils'' によってすべて同じものとみなされます。

これは、{{Pkg|xdg-utils}} によって提供されるスクリプトが ''検出'' できるもののリストにすぎないことに注意してください。スクリプトは、次の条件下でも、環境に依存しない一般的なアクションを実行します:
* 汎用ルーチンが{{ic|1=XDG_CURRENT_DESKTOP=X-Generic}} または {{ic|1=DE=generic}} で要求された。
* 環境検出に失敗。関連する環境変数はすべて認識されないか未設定で、古典的なフォールバックでは何もわからなかった。
* 環境固有のアクションは実行されましたが、プログラムが見つからないなどの理由で失敗しました。


== 使い方 ==
== 使い方 ==

2023年11月26日 (日) 00:25時点における版

xdg-utils は XDG 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_DESKTOP が KDE の場合、xdg-utils は内部的に DE を kde に設定します。一致するものが見つからない場合、既存の XDG_CURRENT_DESKTOP=KDE の値が使用され、XDG_CURRENT_DESKTOP=KDE は XDG_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-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