デフォルトでは、私のFreeBSD 11.0-CURRENT上のFirefox(33.0)は、開くためのデフォルトのアプリケーションを備えていますPDFファイルはInkscapeに設定されています。Firefoxは私の以前の選択evinceを記憶しています、「Firefoxでこのファイルをどうしますか?」ダイアログで、最近まで、この構成がどこから来たのか混乱していましたが、ほとんど気にしていなかったため、ほとんど無視しました。
しかし、私は最近、Zoteroを文献データベースとして使用し始めました。 Zoteroは、Firefoxプラグインとして実行され、Firefoxの設定で行った選択を無視して、PDFファイルをevinceで開くか、何をするかを尋ねて、Inkscapeを使用して開くだけです。これにより、 Firefoxのこの特定の構成項目をフォローアップしようとしましたが、そのデフォルトが設定されている場所を見つけることができませんでした。
ホームディレクトリのFirefox関連ファイルで、文字列Inkscape
(またはinkscape
)を見つけることができませんでした。
「同様の質問」へのリンク( xdg-open default applications behavior –明らかに関連はありませんが、いくつかの実験により、動作が実際にxdg-open
の動作と同等であることが示されました)不思議な方向へ転がる。 Firefoxはxdg-open
に依存せず、ルールを継承しませんが、xdg-open
と同様にMIME仕様ファイルを使用します。
ユーザーベースでは、MIMEを開く動作は仕様ファイル~/.local/share/applications/mimeapps.list
によって構成されます。
私の場合、このファイルにはuserapp-Firefox-??????.desktop
に接続された適切なプロトコルとHTML(および類似の)ファイルがいくつか含まれていますが、次のような行を簡単に追加できます
application/pdf=evince.desktop
ユーザーごとにその問題を解決します。ファイルがまだ存在しない場合は、必ずセクションヘッダーを追加してください。
[Default Applications]
application/pdf=evince.desktop
さらに深く、MIMEタイプは/usr/local/share/applications/mimeinfo.cache
(FreeBSDシステムを使用していない場合は/usr/share/…
の可能性があります)で定義され、application/pdf=inkscape.desktop;evince.desktop;
がリストされます。そのフォルダのevince.desktop
とinkscape.desktop
の両方にMimeType=[…]application/pdf;[…]
が含まれています。
mimeinfo.cache
は、.desktop
ファイルにリストされているMIMEタイプから自動的に生成されるため、明確に定義された順序がないため、PDFからMIMEタイプを削除する必要があります。 Inkscapeでupdate-mime-database
を使用してキャッシュを再生成するか、mimeapps.listを生成します(/usr/local/share/applications/
でグローバルに、または~/.local/share/applications/mimeapps.list
でユーザー向けに)。
Firefox 38.8.0 ESRで、GNOME 2を使用したDebian Lennyの下で、[〜#〜] xdg [〜#〜]を介して関連付けられたアプリケーションを発見しました( OPによる回答 で説明)は、ライブラリのダウンロードからダウンロードしたファイルを開くときにのみ使用されます。
そして、それでも、実装はGNOME固有のパス(私の場合はxdg-open
、/usr/share/gnome/applications/defaults.list
へのシンボリックリンク)を無視するため、/etc/gnome-vfs-2.0/defaults.list
と矛盾する結果をもたらします。 application/pdf=evince.desktop
に~/.local/share/applications/defaults.list
を指定する必要がありました。 (defaults.list
は、XDGの最新バージョンではmimeapps.list
に統合されていることに注意してください。)
XDGの代わりに、メタメール機能(mailcap)を使用して、次のユースケースの関連アプリケーションを解決します。
about:preferences#applications
)のドロップダウンにあるデフォルトのアプリケーションabout:preferences#applications
の設定は、ダウンロードが強制されない限り、そのコンテンツタイプのURLに移動するときに使用されます。
MailcapはXDGよりも古いメカニズムであり、MIMEの発信元である電子メールにルーツがあります。 run-mailcap
ユーティリティはxdg-open
に類似しています。その構成は3つのファイルで構成されます(優先順位が低くなります)。
~/.mailcap
—ユーザーのエントリ/etc/mailcap.order
—システム全体のエントリの順序付け仕様/etc/mailcap
—システム全体のエントリ(ユーザーエントリと同じ形式)これらは一緒に、特定のMIMEタイプに使用されるアプリケーションを指定する1行のエントリのリストを生成します。エントリはトップダウンで照合されるため、最初に来るものが優先されます。
システム全体のエントリを優先的に変更するには、/etc/mailcap.order
を編集してupdate-mime
を実行する必要があります。
一部のエントリを上書きするか、システム全体で独自のエントリを指定するには、/etc/mailcap
の上部セクション(手動で作成したエントリを意味する)を編集してupdate-mime
を実行する必要があります。上のセクションのコメントを参照してください。
ユーザーエントリと上書きの場合は、~/.mailcap
を使用します。変更はすぐに有効になります。 ~/.mailcap.order
は存在しません。エントリの優先順位を変更する場合は、物理的に並べ替えるか(~/.mailcap
の場合)、優先バージョンで上書きします(/etc/mailcap
の場合)。
man update-mime
、 man mailcap
および man mailcap.order
を参照してください。
一部のアプリケーションは、優先アプリケーションの検出の代わりに、汎用ユーティリティ(x-www-browser
またはpager
など)を使用することに注意してください。ディストリビューションで汎用ユーティリティの優先実装を選択するには、 update-alternatives
または同様のメカニズムを使用する必要がある場合があります。または、特定のユーザーに対してシステム全体で優先される代替をオーバーライドするには、EDITOR
(またはVISUAL
)、PAGER
、BROWSER
などの環境変数を設定します。それらは sensible-browser
およびその他の、より具体的なツールでサポートされています(例 git commit
はEDITOR
およびVISUAL
を使用します)。