it-swarm-ja.com

デフォルトのMIMEタイププログラムは、システムとmozilla firefox / thunderbirdの間で一貫性がありませんか?

Kubuntuでは、Mozilla製品のmimeタイプに関連付けられているデフォルトのプログラムは、システム全体の設定またはユーザー設定とは完全に異なります。たとえば、firefox/Thunderbirdは常にkritaを使用してPDFを開きますが、イルカなどの他のすべてのプログラムでは、okularを介して正しく開きます。

/usr/share/applications/mimeinfo.cacheと一致しているようです:

application/pdf=kde4-krita_pdf.desktop;kde4-okularApplication_pdf.desktop;gimp.desktop

ただし、xdg-mime query default application/pdfは正しい値を示します:okularApplication_pdf.desktop

そして、イルカ->「ファイルタイプオプション」では、正しい優先順位リストが表示されます:Okular、Gimp、Imagemagick、krita

とにかく、firefox/Thunderbirdに間違ったmimeinfo.cacheの代わりに正しいxdg-mime値を使用させる方法はありますか?

または、正しいデータをmimeinfo.cacheにコピーする方法はありますか?

ありがとう

6
Wang

最後に私はそれを理解しました:Mozillaアプリケーションは次の順序でmime-type-appアソシエーションのファイルのリストを調べます:

~/.local/share/applications/mimeapps.list
~/.local/share/applications/mimeinfo.cache
/usr/local/share/applications/mimeapps.list
/usr/local/share/applications/mimeinfo.cache
/usr/share/applications/mimeapps.list
/usr/share/applications/mimeinfo.cache
/usr/share/applications/defaults.list

実際には、mimeinfo.cacheをまったく使用しないでください。これらのファイルには順序がないためです。一部のディストリビューションでは、デフォルトのmimeapps.listがあります。これはNiceです。ただし、多くのディストリビューションにはデフォルトのmimeapps.listがありません。一部のディストリビューションでは、mimeinfo.cacheがまったくありません。したがって、これらのディストリビューションでは、正常に機能する/usr/share/applications/defaults.listにフォールバックします。しかし、ubuntuにはまだmimeinfo.cachesがあり、更新のたびに自動的に生成されます。 kubuntuでは、defaults.listの関連付けがgnomeアプリに指定されているが、KDEアプリには指定されていないため、さらに悪化します。

これを解決する良い方法は、自分のmimeapps.listを生成し、それを~/.local/share/applications/に入れることです。

9
Wang

@Wangの回答に基づいて、これが機能しない理由を自分のマシンで調査することにしました。

Dolphinを使用してファイルの関連付けを設定すると、変更が非標準の場所「〜/ .config /mimeapps.list」に保存されることがわかりました。

このファイルからFirefoxが検索する予定のファイルの1つへのシンボリックリンクを作成すると、この問題が解決したようです。

ln -s ~/.config/mimeapps.list ~/.local/share/applications/mimeapps.list

このコマンドを実行してFirefoxを再起動すると、最終的にファイルの関連付けの設定に従っているように見えます。

0
Paul Belanger

Firefoxでは、ヘルパープログラムを自分で設定できます。 Preferences => Applicationsに移動し、それに応じて設定します。

enter image description here

Thunderbirdについてはよくわかりませんが、使用していませんが、添付ファイルのセクションに同様の設定がある可能性があります。

0
terdon