回答:
xdg-openは、ユーザーのデフォルトアプリケーションを設定するためのデスクトップに依存しないツールです。多くのアプリケーションは、内部でxdg-openコマンドを呼び出します。デスクトップ環境(GNOME、KDE、Xfceなど)内では、xdg-openは単にデスクトップ環境のファイルオープナーアプリケーション(gvfs-open、kde-open、exo-openなど)に引数を渡します。つまり、関連付けはデスクトップ環境に委ねられます。デスクトップ環境が検出されない場合(たとえば、Openboxなどのスタンドアロンウィンドウマネージャーを実行する場合)、xdg-openは独自の構成ファイルを使用します。
archwikiから
あなたの質問に固有の場合、これを試して、pngファイルに関連付けられているデフォルトのアプリケーションを設定できます:
xdg-mime default <ristretto.desktop> image/png
Ristrettoのデスクトップファイル名を正確に知る必要があります。その後、これで確認できます:
xdg-mime query default image/png
xdg-mime query default image/png
戻りwine-extension-png.desktop
:-)
@Ivanデフォルトのアプリケーションを要求するときに適切なファイルタイプを指定しなかったため、おそらく起こります。重要なのは、xdgがその特定のファイルタイプを呼び出す方法です。これは、実行することで簡単に見つけることができます
xdg-mime query filetype example.png
例として、コンピューターの特定のpngファイルを使用してこれを実行すると、が返されますimage/x-apple-ios-png
。実際のファイルタイプを把握したら、次を実行できます。
xdg-mime query default <new filetype>
この特定のファイルタイプに対してxdgによって使用されるアプリケーションを取得します。このファイルタイプにアプリケーションが定義されていない場合、xdg-openはファイル/etc/debian_version
が利用可能かどうかを確認し、そうであればrun-mailcap
xdg-openに非常に似たを起動し、ファイルを開くプログラムを見つけようとします。
これも失敗した場合にのみ、xdg-openはユーザーにファイルを開くプログラムを定義するように要求します。