アプリケーションのMIME優先順位を設定するには?

アプリケーションのMIME優先順位を設定するには?

ImageMagickとEye of GNOMEは画像タイプ(例:image/jpegなどimage/png)を広くサポートしているので、EOGの優先順位を付ける唯一の方法は、サポートされている形式を確認し、基本的な.desktopアプリケーションセクションにリストするか、カスタムmimeapps.listリンクを維持することだと思います。 。update-alternativesフォーマットはあるアプリケーションではサポートできませんが、他のアプリケーションではサポートできます。

たぶん、アプリケーションの優先順位があり、複数のアプリケーションでサポートされている「未解決の」MIMEタイプを処理するより簡単な方法がありますか?

答え1

.desktopすべてのGUIアプリケーションは、処理できるMIMEタイプを記述するファイルを提供する必要があるという考えです。

を使用すると、特定のxdg-mime query default <MIME type>MIMEタイプの現在のデフォルトアプリケーションを見つけることができます。.desktopアプリケーションファイルで指定されたアプリケーションIDを返します。

xdg-mime default <application id> <MIME type...>特定のアプリケーションを1つ以上のMIMEタイプのデフォルトアプリケーションとして設定することもできます。

MIMEタイプごとに優先順位を設定することは、アプリケーションごとに優先順位を設定するよりも意味があります。たとえば、イメージブラウザはディレクトリを「開いて」その中のすべてのイメージのサムネイルビューを生成できるため、そのディレクトリのinode/directoryMIMEタイプが一覧表示されます。 。ただし、通常、イメージブラウザが汎用ディレクトリを開くための基本ツールになることは望ましくありません。

Bluetooth経由でファイルを転送するために使用できるツールなど、一部のユーティリティはすべてのファイルに対して機能できます。これらのユーティリティは、all/allfilesそのユーティリティの疑似MIMEタイプを一覧表示します。そのタイプが何であるかを最初に確認せずに「このユーティリティが処理できるすべてのものより優先順位を持たせてください」と簡単に言うことができる場合、このようなユーティリティに適用すると災害的な結果につながります。

特定のプログラムのすべてのMIMEタイプが基本タイプとして適切であると判断された場合は、次のコマンドを使用してこれを行うことができます。

#!/bin/sh
APP_ID=$(basename "$1" .desktop)
xdg-mime default $APP_ID $(grep ^MimeType "$1" | cut -d = -f 2- | tr ';' ' ')

たとえば、アプリケーションデスクトップファイルが次の場合/usr/share/applications/org.kde.gwenview.desktop(デスクトップファイル名にアプリケーションIDが含まれていると仮定)、このスクリプトを起動でき、name-of-script.sh /usr/share/applications/org.kde.gwenview.desktopスクリプトの実行時に処理できるすべてのMIMEタイプのデフォルトアプリケーションアプリケーションが設定されます。ユーザーアカウント。

関連情報