Firefox

Firefox 從哪裡獲得用於打開文件的“預設”應用程序?

  • May 14, 2017

預設情況下,我的 FreeBSD 11.0-CURRENT 上的 Firefox (33.0) 將打開 PDF 文件的預設應用程序設置為 Inkscape。Firefox 確實記得我之前在“Firefox 應該如何處理這個文件?”中的選擇*evince 。*對話框,所以直到最近我才對這個配置的來源感到困惑,但大多忽略了它,因為它幾乎不關心我。

然而,我最近開始使用 Zotero 作為我的文獻數據庫。Zotero 作為 Firefox 外掛執行,忽略了在我的 Firefox 偏好設置中使用 evince 打開 PDF 文件或詢問我如何處理它們的選項,只使用 Inkscape 打開它們。這讓我嘗試跟進 Firefox 的這個特定配置項,但我找不到預設設置的位置。

我在我的主目錄中的任何 Firefox 相關文件中都找不到字元串Inkscape(或)。inkscape

一個“類似問題”的連結(xdg-open 預設應用程序行為- 沒有明顯相關,但一些實驗表明該行為確實等同於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 類型是在其中定義的(如果您不在 FreeBSD 系統上,/usr/local/share/applications/mimeinfo.cache這可能是),其中確實列出了. 兩者和在該文件夾中都包含./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)。

引用自:https://unix.stackexchange.com/questions/162742