web-dev-qa-db-ja.com

どのアプリケーションが特定のMIMEタイプのファイルを開くかはどのように決定されますか?

次の質問 を見ましたが、まだコメントできません。そこで、私は別のものを作成することにしました。

transmissiondelugeの両方がインストールされています。 application/x-bittorrent/usr/share/gnome/applications/defaults.listの内容に基づいて、~/.local/share/applications/mimeapps.list MIMEタイプの関連付けはありません。しかし、.torrent拡張機能には関連付けがあり、transmissionのようです。 .torrentファイルをダブルクリックすると、transmissionが開きます。 chromiumで開いた場合も同様です。

問題は、どうしてtransmissionなのかということです。なぜdelugeではありませんか?両方とも.desktopファイルにこのMIMEタイプがあります。関連付けは別の場所に保存されていますか?

UPD

$ egrep bittorrent /usr/share/applications/mimeapps.list
egrep: /usr/share/applications/mimeapps.list: No such file or directory
$ egrep bittorrent /usr/share/applications/mimeinfo.cache
application/x-bittorrent=transmission-gtk.desktop;deluge.desktop;
$ egrep bittorrent /usr/share/applications/defaults.list

$ egrep bittorrent /home/yuri/.local/share/applications/mimeapps.list
$ egrep bittorrent /home/yuri/.local/share/applications/defaults.list
egrep: /home/yuri/.local/share/applications/defaults.list: No such file or directory

デフォルトはtransmissionです。 /usr/share/applications/mimeinfo.cacheの順序を変更すると、デフォルトのアプリケーションが変更されます。おそらく、この動作に依存すべきではありません。

4
x-yuri

MIMEタイプと.desktopファイルを関連付けるには2つの方法があります。

方法1

最初の方法は、*.list MIME構成ファイルを使用することです(多くはシステムに存在します。以下を参照)。たとえば、~/.local/share/applications/mimeapps.listの一般的なエントリは次のとおりです。

[Default Applications]
application/x-bittorrent=transmission.desktop;deluge.desktop

これは、優先アプリケーションがtransmissionであり、見つからない場合、2番目の選択肢はdelugeであることを意味します。

方法2

2番目の方法は、.desktopファイル自体を使用することです。アプリケーションは、開くことができるMIMEタイプをアドバタイズします。たとえば、transmission-gtk.desktopには、次の行があります

MimeType=application/x-bittorrent;x-scheme-handler/magnet;

これは、このプログラムがこれらの2つのMIMEタイプを処理できることを示しています。

使用するアプリケーションは?

MIMEタイプとアプリケーション間の関連付け は、freedesktop.org標準によって定義されています。特定のMIMEタイプに対してどのアプリケーション(つまり、どの.desktopファイル)を起動するかを決定する際の手順を次に示します。

ステップ1:MIME構成ファイルで関連付けを探します。検索順序は次のとおりです。

$XDG_CONFIG_HOME/$desktop-mimeapps.list    
$XDG_CONFIG_HOME/mimeapps.list    
$XDG_CONFIG_DIRS/$desktop-mimeapps.list    
$XDG_CONFIG_DIRS/mimeapps.list    
$XDG_DATA_HOME/applications/$desktop-mimeapps.list    
$XDG_DATA_HOME/applications/mimeapps.list    
$XDG_DATA_DIRS/applications/$desktop-mimeapps.list   
$XDG_DATA_DIRS/applications/mimeapps.list

ステップ2:すべてのレベルがチェックされると、エントリが見つからない場合、実装は関連する.desktopファイルのいずれかを選択できます。追加および削除された関連付け(MIME構成ファイルに存在する)を考慮したMIMEタイプ。

MIME構成ファイルはありませんが、transmissionが使用されている理由は、標準で定義されているStep 2によるものです。 transmission-gtk.desktopファイルをチェックして、トレントを開く機能を宣伝しているかどうかを確認します。

完全に理解するために、リンクされたドキュメントを読むことをお勧めします。

2
jII

ファイル内のデフォルトを選択できますProperties> Open with [tab];たとえば、ビデオファイルの場合:

Open with

好みのアプリを選択して、デフォルトとして設定するだけです。

ファイルを右クリックすると、open withリストも表示されます。ダブルクリックすると、デフォルトで開きます。

0
Alen