デフォルトでは、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.desktop
inkscape.desktop
MimeType=[…]application/pdf;[…]
mimeinfo.cache
明確に定義された順序なしでファイルにリストされているMIMEタイプから自動的に生成されるため、.desktop
InkscapeからPDF MIMEタイプを削除し、キャッシュ再生成を使用するか、update-mime-database
mimeapps.listを生成する必要があります(グローバル/usr/local/share/applications/
またはユーザー用~/.local/share/applications/mimeapps.list
)。
答え2
Firefox 38.8.0 ESR の Debian Lenny と GNOME 2 で関連アプリケーションを使って発見しました。XDG(説明OPの答え)は、ダウンロードからダウンロードしたファイルをライブラリから開くときにのみ使用されます。
そこでも実装はxdg-open
GNOME関連のパスを無視するので一貫性のない結果を提供します(私の場合は/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-mime
、man mailcap
そしてman mailcap.order
。
一部のアプリケーションでは、以下を使用します。一般ユーティリティ(例:x-www-browser
またはpager
)を使用して基本アプリケーションを検出します。使いたいかもしれませんupdate-alternatives
あるいは、ディストリビューションで共通ユーティリティの好ましい実装を選択するための同様のメカニズム。または、特定のユーザーに対してシステム全体で優先される代替を上書きするには、(またはEDITOR
)VISUAL
などPAGER
の環境変数を設定しますBROWSER
。彼らのサポートsensible-browser
その他、しばしばより具体的なツール(例:git commit
EDITOR
と)を使用してください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などの問題が実際に解決されました。