Firefoxはファイルを開くための「基本」アプリケーションをどこで入手できますか?

Firefoxはファイルを開くための「基本」アプリケーションをどこで入手できますか?

デフォルトでは、FreeBSD 11.0-CURRENTのFirefox(33.0)には、PDFファイルを開くためのデフォルトのアプリケーションがInkscapeに設定されています。 Firefoxは以前の選択を覚えています。見せる、「Firefoxはこのファイルで何をすべきですか?」ダイアログボックスで最近まで、この設定がどこから来たのか混乱していましたが、ほとんど興味がなかったので、ほとんど無視しました。

しかし最近、Zoteroをサージデータベースとして使用し始めました。 ZoteroはFirefoxプラグインとして実行され、Firefoxの設定で自分の選択を無視し、evinceでPDFファイルを開くかどうかを尋ね、Inkscapeで開きます。これはFirefoxの特定の設定項目に対してフォローアップを試みましたが、デフォルト設定がどこにあるかを見つけることができませんでした。

私のホームディレクトリにあるFirefox関連のファイルに対応する文字列Inkscape(または)が見つかりません。inkscape

答え1

「類似質問」リンク(xdg - デフォルトのアプリケーション動作をオンにします。- 明確な相関関係はありませんが、一部の実験では、その行動がxdg-open私をより深いウサギの洞窟に導くことが示されました。 Firefoxはルールに依存または継承しませんが、xdg-openまだMIME仕様ファイルを使用していますxdg-open

ユーザーベースでは、MIMEオープン動作は仕様ファイルで構成されています~/.local/share/applications/mimeapps.list

私には、このファイルにはいくつかの合理的なプロトコルとそれに関連付けられたHTML(および同様の)ファイルが含まれていますが、次の行をuserapp-Firefox-??????.desktop簡単に追加できます。

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.desktopinkscape.desktopMimeType=[…]application/pdf;[…]

mimeinfo.cache明確に定義された順序なしでファイルにリストされているMIMEタイプから自動的に生成されるため、.desktopInkscapeからPDF MIMEタイプを削除し、キャッシュ再生成を使用するか、update-mime-databasemimeapps.listを生成する必要があります(グローバル/usr/local/share/applications/またはユーザー用~/.local/share/applications/mimeapps.list)。

答え2

Firefox 38.8.0 ESR の Debian Lenny と GNOME 2 で関連アプリケーションを使って発見しました。XDG(説明OPの答え)は、ダウンロードからダウンロードしたファイルをライブラリから開くときにのみ使用されます。

そこでも実装はxdg-openGNOME関連のパスを無視するので一貫性のない結果を提供します(私の場合は/usr/share/gnome/applications/defaults.listシンボリックリンクでした/etc/gnome-vfs-2.0/defaults.list)。application/pdf=evince.desktop私はこれを行う必要があります~/.local/share/applications/defaults.list。 (これは最新バージョンのXDGdefaults.listにマージされました。)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-mimeman mailcapそしてman mailcap.order

一部のアプリケーションでは、以下を使用します。一般ユーティリティ(例:x-www-browserまたはpager)を使用して基本アプリケーションを検出します。使いたいかもしれませんupdate-alternativesあるいは、ディストリビューションで共通ユーティリティの好ましい実装を選択するための同様のメカニズム。または、特定のユーザーに対してシステム全体で優先される代替を上書きするには、(またはEDITORVISUALなどPAGERの環境変数を設定しますBROWSER。彼らのサポートsensible-browserその他、しばしばより具体的なツール(例:git commitEDITORと)を使用してくださいVISUAL

答え3

同様の問題がありました。電報などは、証拠の代わりにChromeを使用してPDFファイルを開きました。

~によるとhttps://wiki.archlinux.org/title/Xdg-utils私がやった

$ env XDG_UTILS_DEBUG_LEVEL=10 xdg-mime query default application/pdf

これがchromium.desktop実際に最終的な答えです。行為

$ xdg-mime default evince.desktop application/pdf

問題は解決されませんでした。

正しいデスクトップファイルを検索する必要があります(findと置換を使用してくださいfd)。

$ cd /
$ fd -LH evince.desktop
org.gnome.Evince.desktop

得るorg.gnome.Evince.desktop

設定

$ xdg-mime default org.gnome.Evince.desktop application/pdf

Telegraph、Obsidianなどの問題が実際に解決されました。

関連情報