コンテンツにスキップ

「Xdg-utils」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
→xdg-open: リンクを修正
飜訳日を修正
 
(2人の利用者による、間の11版が非表示)
19行目: 19行目:


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

=== 環境変数 ===

{{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}} で要求された。
* 環境検出に失敗。関連する環境変数はすべて認識されないか未設定で、古典的なフォールバックでは何もわからなかった。
* 環境固有のアクションは実行されましたが、プログラムが見つからないなどの理由で失敗しました。


=== xdg-mime ===
=== xdg-mime ===
35行目: 81行目:
MIME タイプについてデフォルトのアプリケーションを設定するには:
MIME タイプについてデフォルトのアプリケーションを設定するには:
$ xdg-mime default feh.desktop image/jpeg
$ 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'' はデスクトップ環境に適したプログラムを使用しようとします:

{| class="wikitable"
! デスクトップ環境 !! プログラム !! パッケージ
|-
| [[Cinnamon]]
|rowspan="6"| {{ic|gio}}
|rowspan="6"| {{Pkg|glib2}}
|-
| [[GNOME]]
|-
| [[GNOME Flashback]]
|-
| [[LXDE]]
|-
| [[MATE]]
|-
| [[Xfce]]
|-
| [[Deepin]]
|rowspan="3" {{-}}
|rowspan="3" {{-}}
|-
| [[Enlightenment]]
|-
| [[LXQt]]
|-
| [[KDE Plasma]] || {{ic|kmimetypefinder}} || {{Pkg|kde-cli-tools}}
|-
|}

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

* 存在する場合は [[デフォルトアプリケーション#perl-file-mimeinfo|mimetype]] に委譲します。 {{pkg|perl-file-mimeinfo}} パッケージを[[インストール]]する必要があります。
* 存在する場合は {{Pkg|file}} に委任します。


=== xdg-open ===
=== xdg-open ===


xdg-open は、 [[XDG MIME Applications]] を実装しており多くのプログラムで利用されている [[デフォルトアプリケーション#resource opener|resource opener]] です。使い方は {{man|1|xdg-open}} を参照して下さい。
xdg-open は、 [[XDG MIME Applications]] を実装しており多くのプログラムで利用されている [[リソースオープナー]] です。使い方は {{man|1|xdg-open}} を参照して下さい。


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


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


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

デスクトップ環境が検出された場合、その提供されたハンドラーが呼び出されます [https://gitlab.freedesktop.org/xdg/xdg-utils/-/blob/master/scripts/xdg-open.in]:
{| class="wikitable"
! デスクトップ環境 !! プログラム !! パッケージ
|-
| [[Cinnamon]]
|rowspan="4"| {{ic|gio}}
|rowspan="4"| {{Pkg|glib2}}
|-
| [[GNOME]]
|-
| [[GNOME Flashback]]
|-
| [[MATE]]
|-
| [[Deepin]] || {{ic|dde-open}} || {{pkg|deepin-api}}
|-
| [[Enlightenment]] || {{ic|enlightenment_open}} || {{Pkg|enlightenment}}
|-
| [[KDE Plasma]] || {{ic|kde-open}}<sup>1</sup> || {{Pkg|kde-cli-tools}}
|-
| [[LXDE]] || {{ic|pcmanfm}} || {{Pkg|pcmanfm}}
|-
| [[LXQt]] || {{-}} || {{-}}
|-
| [[Xfce]] || {{ic|exo-open}}<sup>2</sup> || {{pkg|exo}}
|}

# もし {{ic|KDE_SESSION_VERSION}} が設定されていない場合、{{Pkg|konqueror}} の {{ic|kfmclient}} が代わりに使われます。KDE Plasma はどのような状況でもこの変数を設定する必要があります。
# {{Pkg|glib2}} の {{ic|gio}} も試されます。

一般的なケースでは、''xdg-open'' は次のようになります。
* リソースに関連付けられたデフォルトのデスクトップエントリを [[xdg-utils#xdg-mime|xdg-mime]] に問い合わせ、デスクトップエントリを解析し、そのコマンドを実行する。
* もし存在すれば、[[デフォルトアプリケーション#mailcap の実行|run-mailcap]] に委譲します。{{AUR|run-mailcap}} パッケージが [[インストール]] されている必要があります。
* もし存在すれば、[[デフォルトアプリケーション# perl-file-mimeinfo|mimeopen]] に委譲します。{{Pkg|perl-file-mimeinfo}} パッケージが [[インストール]] されている必要があります。

{{Tip|''xdg-open'' がどのバックエンドを使用するかを確認するには、{{ic|1=XDG_UTILS_DEBUG_LEVEL=3}} を設定します。}}

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


=== xdg-settings ===
=== xdg-settings ===
54行目: 187行目:
$ xdg-settings set default-url-scheme-handler irc xchat.desktop
$ xdg-settings set default-url-scheme-handler irc xchat.desktop


== ヒントとテクニック ==
== Tips and Tricks ==


=== URL scheme handlers ===
=== URL スキームハンドラー ===


URL スキームのデフォルトのアプリケーションを設定するには、{{ic|x-scheme-handler/*}} MIME タイプのデフォルトのアプリケーションを変更する必要があるかもしれません。
To set the default application for a URL scheme you may also need to change the default application for the {{ic|x-scheme-handler/*}} MIME types:


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

{{TranslationStatus|Xdg-utils|2023-11-26|784910}}

2024年5月10日 (金) 19:09時点における最新版

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-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 が設定されていない場合、konqueror の kfmclient が代わりに使われます。KDE Plasma はどのような状況でもこの変数を設定する必要があります。
  2. glib2 の gio も試されます。

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

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

xdg-mime は XDG 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
翻訳ステータス: このページは en:Xdg-utils の翻訳バージョンです。最後の翻訳日は 2023-11-26 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。