跳至內容
出自 Arch Linux 中文维基

Firefox(中文常稱為「火狐瀏覽器」)是一個來自 Mozilla 的流行開源圖形化網頁瀏覽器。

安裝

安裝 firefox

其他替代方案包括:

  • Firefox Developer Edition — 開發者版本
https://www.mozilla.org/firefox/developer/ || firefox-developer-edition
  • Firefox Extended Support Release — 長期支持版本
https://www.mozilla.org/firefox/organizations/ || firefox-esrAUR
  • Firefox Beta — 前沿版本
https://www.mozilla.org/firefox/channel/desktop/#beta || firefox-beta-binAUR
  • Firefox Nightly — 用於測試的夜間構建(實驗特性
https://www.mozilla.org/firefox/channel/desktop/#nightly || firefox-nightlyAUR
  • Firefox KDE — 集成了 OpenSUSE 補丁的 Firefox 版本,提供比簡單的 Firefox 插件更好的 #KDE 集成
https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox || firefox-kde-opensuseAUR

Firefox 提供了許多語言包,除了標準的英語。語言包通常命名為 firefox-i18n-語言代碼(其中 語言代碼 可以是任何語言代碼,如 zh-cnzh-twja 等)。可以安裝中文語言包 firefox-i18n-zh-cn(簡體)或 firefox-i18n-zh-tw(繁體),使其通過 pacman 更新。查詢 firefox-i18nfirefox-developer-edition-i18nfirefox-nightly- 可以分別得到 firefoxfirefox-developer-editionfirefox-nightlyAUR 可用語言包的列表。

注意:由於頻繁的字符串更改可能導致崩潰,-nightly-developer-edition 中禁用了語言包。要強制更改 UI 語言,您可能需要在 about:config 中設置 intl.locale.requested [1]。要在設置頁面顯示語言設置,請在 about:config 中將 intl.multilingual.enabled 設置為 true

擴展

Firefox 因其龐大的擴展庫而聞名,這些擴展可用於添加新功能或修改現有功能的行為。Firefox 的「附加組件管理器」可用於管理已安裝的擴展或查找新擴展。

有關如何安裝擴展和擴展列表的說明,請參見瀏覽器擴展

添加搜尋引擎

可以通過創建書籤將搜尋引擎添加到 Firefox:

  • 按下地址欄上的星標或 Ctrl+d
  • 右鍵單擊您創建的書籤,然後按「編輯書籤⋯(I)」。
  • 在「網址(U)」欄位中輸入搜索 URL。將查詢位置填入 %s。在「關鍵詞(K)」欄位中填寫用戶定義的文本。如下所示:
網址(U)
 https://duckduckgo.com/html/?q=%s
關鍵詞(K)
 d
注意:舊版本使用「位置」而不是「網址」。

搜索通過將搜索詞與指定搜尋引擎的關鍵字一起前綴進行:d archwiki 將使用搜索詞 archwiki 查詢 DuckDuckGo。

也可以通過插件擴展將搜尋引擎添加到 Firefox;請參見此頁面獲取可用的搜索工具和引擎列表。

可以在 Mycroft Project 找到一個非常廣泛的搜尋引擎列表。

firefox-extension-arch-search

安裝 firefox-extension-arch-searchAUR 包,以將 Arch 特定的搜索(漏洞追蹤器、AUR、wiki、論壇與包)添加到 Firefox 搜索工具欄。

插件(Firefox 85 以前)

這一章節正在考慮移除。

原因: 應該不再需要了,切換是在2021年,甚至 Firefox ESR 也已經在 r128 上了。 (在 en:Talk:Firefox#About_the_new_"Plugins" 討論)


對所有舊版本插件的支持,包括 Flash Player,在 Firefox 85 中被移除。[2][3]

配置

Firefox 提供多種配置選項。要查看這些選項,在 Firefox 地址欄輸入:

about:config

設置完成後,這些選項會影響用戶的當前配置文件,並可能通過 Firefox 瀏覽器同步同步到所有設備。需要注意的是,about:config 條目中只有一部分會被同步,可通過在 about:config 中搜索 services.sync.prefs 找到確切的同步條目。通過創建新布爾條目並在值前添加 services.sync.prefs.sync,可以同步更多的偏好項或第三方偏好項。要同步 NoScript 擴展的白名單:

services.sync.prefs.sync.capability.policy.maonoscript.sites

必須將布爾值 noscript.sync.enabled 設置為 true,才能通過 Firefox 瀏覽器同步同步 NoScript 的其餘偏好項。

提示:有關如何正確設置 about:config 選項的完整指南,請參閱 Firefox 的配置編輯器

設置存儲

Firefox 通過配置文件夾中的 prefs.js 文件存儲配置,通常位於 ~/.mozilla/firefox/xxxxxxxx.default/

Firefox 還允許通過配置文件夾中的 user.js 文件進行配置:user.jsuser.js 配置會覆蓋 prefs.jsuser.js 配置僅在啟動配置文件時解析。因此,可以通過 about:config 測試更改,並在運行時相應修改 user.js。例如,針對隱私/安全用戶的實用起點,請參閱定製 user.js

上述方法的一個缺點是,它不能應用於整個系統。此外,作為「預配置」也不適用,因為配置文件目錄是在首次啟動瀏覽器後創建的。但是,可以讓 Firefox 創建一個新配置文件,並在關閉後,將已創建配置文件夾的內容複製到新配置文件中。

有時,可能需要鎖定某些設置,這對於大規模部署定製 Firefox 很有用。要創建系統範圍的配置,請按照用 AutoConfig 定製 Firefox 中的步驟操作:

1. 創建 /usr/lib/firefox/defaults/pref/autoconfig.js

pref("general.config.filename", "firefox.cfg");
pref("general.config.obscure_value", 0);

2. 創建 /usr/lib/firefox/firefox.cfg(此文件存儲實際配置):

//
//...你的设置...
// 例如,要禁用 Pocket,请取消注释以下行
// lockPref("extensions.pocket.enabled", false);
// lockPref("browser.newtabpage.activity-stream.feeds.section.topstories", false);

請注意,第一行必須只是 //。該文件的語法類似於 user.js

多媒體播放

Firefox 使用 FFmpeg 播放 HTML5 <audio><video> 元素中的多媒體。可以使用 https://cconcolato.github.io/media-mime-support/ 測試視頻,或 https://hpr.dogphilosophy.net/test/ 測試音頻,以確定實際支持的格式。

Firefox 使用 PulseAudio 播放和錄製音頻。如果未安裝 PulseAudio,Firefox 將改用 ALSA。請注意,默認情況下,Firefox 會阻止自動播放所有帶聲音的媒體。[4]

提示:如果未配置音頻,Firefox 可能無法播放視頻。如果你打算使用 PipeWireWirePlumber英語WirePlumber,請確保它們正常運行並安裝必要的 pipewire-pulse 兼容層。

HTML5 DRM/Widevine

Widevine 是一種數字版權管理工具,Netflix、Amazon Prime Video 等服務用它來保護視頻內容。可以在設置 > 常規 > 數字版權管理(DRM)內容中啟用。如果在該設置被禁用時訪問支持 Widevine 的頁面,Firefox 會在地址欄下方顯示提示,請求安裝 DRM 的權限。批准後等待「下載」進度條消失,您便可以觀看受 Widevine 保護的網站上的視頻。

由於沒有使用硬體 DRM 播放,Firefox 在使用 Widevine 時僅支持播放 720p 或以下解析度的視頻。此外,需要確保未啟用隱私模式瀏覽(窗口及設置中均需關閉)。

「Open With」擴展

  1. 安裝 Open With 插件。
  2. 轉到擴展 > Open With > 首選項
  3. 按照說明安裝系統文件並測試安裝。
  4. 點擊添加瀏覽器
  5. 在對話框中,為菜單項輸入一個名稱,並輸入用於啟動支持視頻流播放的播放器的命令(例如 /usr/bin/mpv)。
    1. 可選地,添加播放器需要的參數(例如,您可能需要為 mpv 添加 --force-window --ytdl)。
  6. 右鍵點擊連結或訪問包含視頻的頁面。從 Open With 菜單中選擇新創建的條目,如果站點受支持,播放器將如預期啟動。

同樣的方法可以用於關聯視頻下載工具,例如 youtube-dl

硬體視頻加速

硬體視頻加速通過 VA-API 在 Wayland [5]Xorg [6] [7] 下可用。

要在 Firefox 中啟用 VA-API:

  1. 確保視頻卡已按硬體視頻加速中的說明正確配置為支持 VA-API。
  2. 確保 WebRender 已啟用。導航到 about:support 並確認合成值為「WebRender」。在 GNOME 和其他桌面環境中默認啟用 [8]
    • 確保未運行「軟體 WebRender」,因為截至 2021 年 8 月,這將不起作用 [9]
    • 如果需要,可在 about:config 中設置 gfx.webrender.alltrue 強制啟用硬體 WebRender。
  3. 如果使用 Firefox 115 或更新版本,Intel GPU 默認啟用 VA-API [10]。對於其他 GPU,請在 about:config 中將 media.ffmpeg.vaapi.enabled 設置為 true
  4. 可選地,為節省多 GPU 系統(例如 Ryzen 7000 系列 IGP 和 GPU)上的功耗或利用 IGP/GPU 支持的更多視頻編解碼器:運行 Firefox 時設置 MOZ_DRM_DEVICE 環境變量為首選渲染設備。(可用設備可通過 stat /dev/dri/* 列出)。
注意:
  • 如果在 about:support 中硬體視頻加速被錯誤代碼 FEATURE_HARDWARE_VIDEO_DECODING_DISABLEFEATURE_FAILURE_VIDEO_DECODING_TEST_FAILED 阻止,可以通過將 media.hardware-video-decoding.force-enabled=true 強制啟用。有關更多信息,請參閱 [11]。或者,可以安裝 firefox-vaapiAUR
  • 雖然 NVIDIA 的專有驅動程序不支持 VA-API,但較新版本支持 DMA-BUF。使用 libva-nvidia-driver 可通過 CUDA 啟用 NVIDIA 上的硬體視頻解碼。文檔請參見 GitHub 項目
  • 目前,Firefox 的 VA-API 實現可解碼 H.264/AVC、VP8 & VP9、AV1 編碼視頻。AV1 支持需要 Firefox 98+ [12]
  • 多 GPU 系統應能根據此已解決的問題自動選擇適合的 GPU 以支持 VA-API。
  • AMDGPU 用戶在使用 linux-hardened 時,可能需要在重新構建 linux-hardened 內核時啟用 CONFIG_CHECKPOINT_RESTORE=y,以滿足 mesa依賴需求。此問題可能已因此修復而不再需要。
  • Wayland 有時會干擾硬體視頻解碼。如果視頻在切換到全屏時短暫閃爍,可能需要在 about:config 中設置 widget.wayland.opaque-region.enabled=false
  • 如果您使用 nvidia-opennvidia-open-dkmsnvidia-smi 可能顯示 Firefox 的 VRAM 使用量為 0MB。這是正常現象,可忽略。如果需要修復,可以切換驅動到 nvidianvidia-dkms

可以通過檢查 Firefox 的 VA-API 日誌驗證 VA-API 是否被使用。在運行 Firefox 時設置環境變量 MOZ_LOG="FFmpegVideo:5",並在日誌輸出中搜索「VA-API」字符串來確認播放視頻時 VA-API 是否被啟用和使用。請注意這些日誌,它們可能會指出兩種可能的組合器之一(WebRender 或 OpenGL)在您的特定設置下可與 VA-API 配合使用。

提示:在 YouTube 上啟用硬體解碼,視頻編解碼器必須被硬體支持。您可以通過硬體視頻加速#檢驗 VA-API 檢查 GPU 支持的配置文件,並通過 h264ifyenhanced-h264ifyrefined-h264ify 擴展插件(如果 YouTube 提供選擇)控制使用的編解碼器。

拼寫檢查

Firefox 可以使用系統範圍安裝的 Hunspell 字典以及通過其擴展系統安裝的字典。

要為特定語言啟用拼寫檢查,右鍵單擊任何文本框並選中檢查拼寫框。要選擇拼寫檢查語言,需再次右鍵單擊並從語言子菜單中選擇您的語言。

如果默認語言選擇無法保存,請參閱#Firefox 無法記住默認拼寫檢查語言

系統範圍的 Hunspell 字典

安裝 Hunspell 及其需要語言的字典。

通過附加組件添加字典

要獲取更多語言,右鍵單擊任何文本框,點擊添加字典⋯(A),然後從字典和語言包列表中選擇您想安裝的字典。

提示:對於俄語,此擴展包名為 firefox-spell-ru

XDG 桌面門戶集成

從版本 64 開始,Firefox 可以選擇使用 XDG 桌面門戶來處理各種桌面功能,例如打開文件選擇器或處理 MIME 類型。使用桌面門戶可以讓您自定義程序,例如當您在網頁上選擇要上傳的文件或使用另存為⋯時選擇下載位置。有關可用後端選項的列表,請參閱 XDG 桌面門戶#一些後端以及其支持情況

Firefox 對每個功能都有獨立的設置,可指定是通過桌面門戶請求處理,還是使用默認 GTK 功能。

每個設置可以有以下值:

  • 0 — 永不
  • 1 — 始終
  • 2 — 自動(通常取決於是否在 Flatpak 中運行 Firefox 或是否設置了 GDK_DEBUG=portals 環境變量)

這些設置包括:

  • widget.use-xdg-desktop-portal.file-picker — 是否使用 XDG 門戶打開文件選擇器
  • widget.use-xdg-desktop-portal.mime-handler — 是否使用 XDG 門戶處理 MIME 類型
  • widget.use-xdg-desktop-portal.settings — 是否嘗試使用 XDG 門戶獲取設置/外觀信息
  • widget.use-xdg-desktop-portal.location — 是否使用 XDG 門戶進行地理位置服務
  • widget.use-xdg-desktop-portal.open-uri — 是否使用 XDG 門戶打開文件

KDE 集成

  • 要為包括 Firefox 在內的 GTK 應用程式應用 KDE 樣式,請參閱 KDE#GTK 應用程式外觀
  • 要在 Firefox 64 或更新版本中使用 KDE 文件選擇器,安裝 xdg-desktop-portalxdg-desktop-portal-kde,然後在 about:config 中將 widget.use-xdg-desktop-portal.file-picker 設置為 1
  • 要集成 KDE MIME 類型系統、代理和文件對話框,可使用來自 AUR 的 firefox-kde-opensuseAUR 版本,該版本應用了 OpenSUSE 補丁。或者,也可以通過將 MIME 資料庫 ~/.config/mimeapps.list 創建符號連結到已棄用的 ~/.local/share/applications/mimeapps.list 來實現 MIME 類型集成。參見 XDG MIME 應用程式#mimeapps.list
  • 擴展/附加組件可以提供額外的集成,例如:
提示:為了避免媒體播放器小部件或托盤圖標中的重複條目,將 media.hardwaremediakeys.enabled 設置為 false。此設置會禁用來自 Firefox 的媒體條目,僅使用 Plasma Integration 附加組件提供的條目。

GNOME 集成

要使用 GNOME 文件選擇器,需要安裝 xdg-desktop-portal-gnome 並在 {ic|about:config}} 中將 widget.use-xdg-desktop-portal.file-picker2 更改為 1

大聲朗讀(文本轉語音)

Firefox 可以為網頁執行文本轉語音(TTS)。

設置

要使大聲朗讀圖標出現在閱讀器視圖中,需配置 TTS。Firefox 使用 Speech Dispatcher英語Speech Dispatcher,而 Speech Dispatcher 需要語音合成引擎。目前推薦的語音合成引擎是 Festival英語Festival

使用

請參閱 Mozilla 網站上的圖示步驟

只有在完成所有配置、Speech Dispatcher 正常運行且在 Festival 伺服器啟動後才啟動 Firefox 時,大聲朗讀圖標(耳機圖標)才會出現(不能先啟動 Firefox 然後再啟動 Festival)。

此外,有時 Festival 伺服器進程可能會在嘗試終止後仍然滯留,但在關閉 Firefox 後會終止。

常見問題請參閱 #Web Speech API 沒有語音#Narrate/Listen 圖標在閱讀模式中缺失

使用 festival-us 語音

festival-us 包中的語音提供比 festival-english 更好的音質,但它們在 Firefox 中無法使用。這些語音不會出現在 Firefox 可用語音列表中,並且當你打開閱讀模式時,你將在 Festival 伺服器的終端輸出中看到類似這樣的錯誤消息:

 SIOD: unknown voice cmu_us_awb_cg 

要解決這個問題,你需要編輯以下文件:

  • /usr/share/festival/voices/us/cmu_us_awb_cg/festvox/cmu_us_awb_cg.scm
  • /usr/share/festival/voices/us/cmu_us_rms_cg/festvox/cmu_us_rms_cg.scm
  • /usr/share/festival/voices/us/cmu_us_slt_cg/festvox/cmu_us_slt_cg.scm

對於每個文件,你需要在倒數第二行的代碼前面添加一些代碼,例如,對於 cmu_us_awb_cg.scm,你需要在此行前面添加代碼:

(provide 'cmu_us_awb_cg)

你需要為 cmu_us_awb_cg.scm 添加的代碼如下。你還需要根據其他兩個文件的語音名稱、性別、方言和描述進行相應的修改。

(proclaim_voice
 'cmu_us_awb_cg
 '((language english)
   (gender male)
   (dialect scottish)
   (description "This voice is Scottish")))
注意:為了避免每次 festival-us 升級後重新進行這些修改,請參閱 pacman#在升級時跳過文件

提示和技巧

有關一般增強功能,請參閱 Firefox/微調,有關隱私相關的增強功能,請參閱 Firefox/隱私

黑暗主題

Firefox 應該會遵循你的 GTK 主題設置和作業系統全局的黑暗外觀設置(例如 GNOME 設置中的外觀部分或 KDE 系統設置)。如果後者不起作用,請確保安裝了合適的 xdg-desktop-portal 包。

從 Firefox 68 開始,你可以讓所有 Firefox 界面甚至其他網站都遵循黑暗主題,而不管系統的 GTK 主題和 Firefox 主題是什麼。要做到這一點,可以在 about:config 中將 ui.systemUsesDarkTheme 設置為 1 [13]

從 Firefox 100 開始,你可以進一步控制支持黑暗主題的網站(通過 CSS 媒體查詢 prefers-color-scheme)和 Firefox 自身的內嵌頁面。通過設置 layout.css.prefers-color-scheme.content-override,設置為 3 將跟隨瀏覽器主題,設置為 2 將跟隨系統的黑暗模式首選項(如上所述的 ui.systemUsesDarkTheme,如果用戶沒有更改黑暗模式首選項或系統不支持系統級的黑暗模式首選項,則默認為 0),而 10 分別將強制開啟淺色模式和深色模式。這個設置也可以通過 Firefox 的用戶設置訪問,在常規 > 語言和外觀 > 網站外觀下。

幀率

如果 Firefox 無法自動檢測正確的值,它將默認為 60 fps。要手動調整,設置 layout.frame_rate 為你的顯示器的刷新率(例如 144 表示 144 Hz)。

內存限制

為了防止頁面濫用內存(以及可能的 OOM),我們可以使用 Firejailrlimit-as 選項。

新標籤頁位置

要控制新標籤頁的打開位置(相對位置或絕對位置),使用 browser.tabs.insertAfterCurrentbrowser.tabs.insertRelatedAfterCurrent。更多信息請參閱 [14]

網頁截圖

你可以通過使用截圖按鈕來「截取屏幕」,該按鈕可以從漢堡菜單的自定義屏幕中添加到工具欄,路徑為更多工具 > 自定義工具欄,或通過按 Ctrl+Shift+s,或者通過右鍵單擊網頁。更多信息請參見 Firefox 截圖(包括關於遙測數據收集的描述)。

還可以使用開發者工具中的截圖按鈕,可以通過開發者工具的設置菜單中的可用工具欄按鈕部分添加。開發者工具的設置可以通過位於開發者工具窗格右上角的三個水平點來訪問。

Xwayland

從 Firefox 121 版本開始,Firefox 默認使用 Wayland,而不是 XWayland,並且不需要任何配置。

你可以通過設置環境變量強制啟用 Xwayland 模式。

$ MOZ_ENABLE_WAYLAND=0 firefox

為了使這個設置永久生效,請參閱環境變量#圖形環境並像平常一樣通過桌面啟動器啟動 Firefox。

驗證是否成功,你可以在 about:support 中查找 Window Protocol。如果顯示 x11,說明你正在通過 Xorg 顯示伺服器運行 Firefox,而如果顯示 xwayland,說明你的系統正在運行 Wayland,但將 Firefox 作為傳統的 X11 應用程式運行。

窗口管理器規則

為了能夠將不同的配置應用於 Firefox 窗口,使用 Firefox 的 --class 選項修改 WM_CLASS 字符串。在 Wayland 下,Firefox 使用 --name 選項。然後你可以在窗口管理器中通過設置的字符串引用不同的 Firefox 窗口。

配置文件

要啟動多個 Firefox 實例,需要多個配置文件。創建新配置文件的方法是:

$ firefox [--new-instance] -P

在啟動 Firefox 時,可以為未使用的配置文件指定類:

$ firefox [--new-instance] -P profile_name --class=class_name

Firefox Profilemaker 可以用來創建一個符合你偏好的 Firefox 配置文件。

屏幕觸摸手勢和精確的觸控板滾動

本文或本章節可能需要合併到Firefox/微調#啟用屏幕觸摸手勢

附註: 同樣的解決方案。(在 Talk:Firefox 中討論)

要啟用觸摸手勢(如滾動和捏合縮放)和一對一觸控板滾動(如 GTK3 應用程式 Nautilus 中的體驗),在啟動 Firefox 前設置 MOZ_USE_XINPUT2=1 環境變量。在 Wayland 上不需要進行任何配置。

由於一個 bug,Wayland 上的動感滾動感覺較為鬆散,你可以在 about:config 中關閉 apz.gtk.kinetic_scroll.enabled 來禁用該功能。需要注意的是,這樣會使得滾動到長頁面的開始和結束變得更加困難。

多個主頁

要在啟動 Firefox 時打開多個標籤頁,打開一個新窗口,然後打開你想要作為「主頁標籤」的網站。

然後轉到設置 > 主頁,在主頁和新窗口下點擊使用當前頁面按鈕。

或者,直接轉到設置 > 主頁,在主頁和新窗口下,將第一個欄位設置為自定義 URL..,並以如下格式輸入你希望作為新主頁的頁面:

https://url1.com|https://url2.com|https://url3.com

在 PDF 查看器中並排查看兩個頁面

要在集成的 PDF 查看器中同時顯示兩個頁面,請在 about:config 中將 pdfjs.spreadModeOnLoad 設置為 1

資訊站模式 (Kiosk mode)

Firefox 支持資訊站模式,該模式以全屏顯示頁面,去除瀏覽器的界面元素(如瀏覽器框架、右鍵菜單等)以及其他通常用於桌面瀏覽的功能。這種模式通常應用於用戶不需要與設備上系統的其他部分進行交互的場所(如ATM、信息面板等)。

要使用 Kiosk 模式,可以通過以下命令啟動 Firefox:

$ firefox --kiosk url

啟動頁面可以通過設置配置或作為命令行參數提供。

如果需要列印,可以通過以下方式阻止 Firefox 顯示紙張尺寸配置對話框:

$ firefox --kiosk --kiosk-printing url

緊湊模式

從 Firefox 89 版本開始,緊湊模式密度選項已從自定義面板中移除 [15],但你仍然可以使用緊湊密度。要做到這一點,可以在 about:config 中將 browser.uidensity 設置為 1

用戶界面還可以進一步縮放,參見 Firefox/微調#配置 DPI 值,但請使用介於 0 和 1 之間的值。

GNOME 搜索提供者

Firefox 包含一個 GNOME Shell 的搜索提供者,在 Firefox 運行時,它會將 Firefox 的書籤和歷史記錄暴露給 GNOME Shell 搜索。然而,該提供者默認是禁用的;要啟用它,請轉到 about:config 並將 browser.gnome-search-provider.enabled 設置為 true

自定義我的足跡窗口中的日期和時間格式

在「我的足跡」窗口(顯示書籤、歷史記錄和下載的窗口,可以通過 Ctrl+Shift+oCtrl+Shift+h 訪問)中使用的日期和時間格式,可以通過在 user.jsabout:config 中設置 intl.date_time.pattern_override.date_shortintl.date_time.pattern_override.time_shortintl.date_time.pattern_override.connector_short 來自定義。例如,要獲得類似 RFC:3339 格式("2022-12-31 22:49"),可以將這三個首選項設置為 yyyy-MM-ddHH:mm{1} {0}

LC_TIME 環境變量設置為 en_DK.UTF-8 僅在舊版 Firefox(可能是 57 及更早版本)中有效。有關更多信息,請參見 Mozilla 的 bug 報告 1426907

禁用 Ctrl+q 快捷鍵關閉 Firefox

about:config 中創建並設置選項 browser.quitShortcut.disabledtrue

啟用後量子混合密鑰交換

Firefox 支持 X25519Kyber768,這是一種用於 TLS 1.3 的後量子混合密鑰交換。從 Firefox 132.0 開始,該功能默認啟用。要測試是否啟用,可以訪問這個 Cloudflare Research 測試頁面,它將告訴你是否正在使用 PQ 安全的密鑰交換。

故障排除

排障模式

命令行選項 -safe-mode 可以啟動 Firefox 的排障模式,該模式將禁用擴展、主題、硬體加速、JIT 和其他一些功能。

你也可以通過打開 Firefox 後,點擊漢堡菜單,選擇幫助,點擊排障模式⋯(M),然後在彈出的對話框中確認啟用此模式。請注意,這將要求重啟瀏覽器。

該模式在 Firefox 88 之前被稱為「安全模式」。

翻新 Firefox

一些 Firefox 用戶遇到的問題可能是由配置文件問題引起的,例如損壞。

如果排除了其他原因,嘗試創建一個新的 Firefox 配置文件來進行測試,看是否能解決問題。如果你需要有關如何創建新配置文件以及如何在配置文件之間切換的信息,可以訪問Firefox 支持頁面

如果新配置文件解決了問題,你可以切換回原始配置文件,並考慮翻新 Firefox。

翻新配置文件時,瀏覽歷史、下載歷史、書籤、網頁表單自動填充數據、Cookies、個人詞典和密碼將會保留,並且會轉移到一個全新的配置文件中,新的配置文件不會包含擴展、主題、擴展數據和首選項等數據。舊配置文件的備份也會被保留。

要翻新配置文件,請轉到 about:support,點擊翻新 Firefox⋯並在彈出的對話框中確認此操作。你也可以通過點擊漢堡菜單,選擇幫助然後點擊更多排障信息(T)來訪問 about:support

有關刷新 Firefox 的更多信息,包括轉移到新配置文件中的內容,請參閱 Firefox 支持頁面

硬體視頻加速問題

如果你在 Firefox 中遇到硬體視頻加速問題,例如卡頓或圖形損壞,可以啟動 Firefox 的排障模式來確認是否是這個問題。如果這個步驟解決了問題,可以通過在 about:config 中將 media.ffmpeg.vaapi.enabled 設置為 false 來禁用硬體視頻加速,然後重啟 Firefox。

擴展無法在某些 Mozilla 擁有的域名上工作

默認情況下,擴展不會影響由 extensions.webextensions.restrictedDomains 指定的頁面。如果不希望這樣,可以清除該欄位(特殊頁面如 about:* 不會受到影響)。然後創建並將 privacy.resistFingerprinting.block_mozAddonManager 設置為 true。

Firefox 啟動時間過長

如果 Firefox 啟動時間遠長於其他瀏覽器,可能是因為在 /etc/hosts 中沒有配置 localhost。請參閱網絡配置#區域網主機名解析了解如何進行配置。

行為不正常的 Firefox 擴展,或者擴展過多,可能是啟動緩慢的另一個原因。可以通過排障模式來確認這一點,該模式將在重啟時禁用擴展。

啟動緩慢的另一個原因可能是配置文件問題,例如損壞。有關 Firefox 配置文件故障排除的更多步驟,請參閱#翻新 Firefox

字體故障排除

請參閱字體配置

Firefox 有一個設置,決定它允許多少字體替換來自 Fontconfig。如果你希望它使用所有的替換規則,可以將 gfx.font_rendering.fontconfig.max_generic_substitutions 設置為 127(最大值)。

Firefox 附帶了 Twemoji Mozilla 字體。要使用系統的 emoji 字體,請在 about:config 中將 font.name-list.emoji 設置為 emoji。此外,要防止 Mozilla 字體干擾你的系統 emoji 字體,可以將 gfx.font_rendering.opentype_svg.enabled 設置為 false,或刪除 /usr/lib/firefox/fonts/TwemojiMozilla.ttf(參見 pacman#在安裝時跳過文件)。

設置電子郵件客戶端

在瀏覽器內,mailto 連結默認由 Web 應用程式(如 Gmail 或 Yahoo Mail)打開。要設置外部電子郵件程序,請轉到設置 > 常規 > 應用程式,並修改對應 mailto 內容類型的「操作」;需要指定文件路徑(例如,/usr/bin/kmail 用於 Kmail)。

在瀏覽器外,mailto 連結由 x-scheme-handler/mailto MIME 類型處理,可以通過 xdg-mime 輕鬆配置。詳細信息和替代方法,請參見默認應用程式

文件關聯

參見默認應用程式

Firefox 即使不需要也會創建 ~/Desktop

Firefox 使用 ~/Desktop 作為下載和上傳文件的默認位置。要將其更改為其他文件夾,請按照 XDG 用戶目錄中的說明設置 XDG_DESKTOP_DIR 選項。

下載目錄充滿了不記得保存過的文件

在 Firefox 98 版本中,打開文件至外部程序的行為被悄然更改。原本 Firefox 會將文件下載到 /tmp 並將其位置提供給子進程,而現在它會像選擇「保存」一樣下載文件,然後將文件的位置提供給子進程。結果,您的下載目錄可能充滿了僅供查看的文件。這種情況發生在您從對話框中選擇程序打開文件時,以及對於配置為自動用特定程序打開的文件類型。值得注意的是,對於某些文件類型(如啟用了瀏覽器內 PDF.js 查看器的 PDF 文檔)也會發生這種情況。

由於疏忽,對話框中的選項仍然描述舊行為(選擇「打開」或「保存」),但實際上會始終保存文件。這種行為可能對期望文件不會保存到磁碟的用戶構成安全和隱私風險,建議您禁用此新行為。

為此,請在 about:config 中創建並設置 browser.download.start_downloads_in_tmp_dirtrue

或者,為了防止 Firefox 在打開 PDF 文件時自動將其保存到下載目錄,請在 about:config 中設置 browser.download.open_pdf_attachments_inlinetrue

注意:雖然選項的名稱似乎表明它只會將文件暫時緩存到 /tmp 中然後移動到其他位置,但 Mozilla 已確認這實際上會恢復舊行為:
現在有一個企業策略(StartDownloadsInTempDirectory)和一個 about:config 參數(browser.download.start_downloads_in_tmp_dir),可以讓 Firefox 再次將下載文件放置到作業系統臨時文件夾中的子文件夾中,而不是下載目錄中。通過「Firefox 應如何處理此文件」對話框打開或自動用輔助程序打開的文件會保留在該文件夾中。保存的文件(如之前提到的非打開文件)仍然會保存在 Firefox 的下載目錄中。

其他設置

  • browser.download.forbid_open_withtrue (在文件保存對話框中僅詢問是保存還是取消,從不詢問是否用其他程序打開)
  • browser.download.always_ask_before_handling_new_typestrue (同於「設置 > 常規 > 文件和應用程式 > Firefox 應如何處理其他文件?> 詢問是否打開或保存文件」)。
  • 在「設置 > 常規 > 文件和應用程式」中,將所有已知文件類型設置為「總是詢問」,可能的例外是設置為由 Firefox 自身打開的文件類型。

對 userChrome.css 和 userContent.css 的更改被忽略

about:config 中將 toolkit.legacyUserProfileCustomizations.stylesheets 設置為 true

中鍵單擊行為

要啟用中鍵單擊自動滾動(Windows 瀏覽器的默認設置),可以通過以下兩種方式:

  • 轉到「設置 > 常規」,在「瀏覽」部分啟用「使用自動滾動」選項。
  • 或者,在 about:config 中設置 general.autoScrolltrue

要禁用中鍵單擊時從剪貼板粘貼內容(PRIMARY 選區),請在 about:config 中將 middlemouse.paste 設置為 false

要在中鍵單擊時將剪貼板內容作為 URL 加載,請將 middlemouse.contentLoadURL 設置為 true。這是 Firefox 57 之前的默認行為。

Backspace 鍵無法用作「後退」按鈕

根據 MozillaZine 的說法,Backspace 鍵的行為取決於瀏覽器運行的平台。為達成妥協,此偏好被創建,以允許 Backspace 鍵用於「後退/前進」、上下滾動頁面,或不執行任何操作。

要使 Backspace 鍵返回選項卡歷史記錄的上一頁,並讓 Shift+Backspace 前進一頁,請在 about:config 中將 browser.backspace_action 設置為 0

要使 Backspace 鍵向上滾動一頁,並讓 Shift+Backspace 向下滾動一頁,請將 browser.backspace_action 設置為 1。將此屬性設置為任何其他值將使該鍵無映射功能(Arch Linux 默認為 2,即默認情況下無映射)。

Firefox 未記住登錄信息

這可能是由於 Firefox 用戶配置文件文件夾中的 cookies.sqlite 文件損壞造成的。為了解決此問題,請在 Firefox 未運行時重命名或刪除 cookies.sqlite

打開終端並輸入以下命令:

$ rm -f ~/.mozilla/firefox/<profile id>.default/cookies.sqlite

配置文件 ID 是一個隨機的 8 字符字符串。

重新啟動 Firefox 並檢查問題是否解決。

如果不起作用,請檢查是否存在 cookies.sqlite.bak 文件,您可以用來手動恢復 Cookie。

無法進入/退出全屏

如果 Firefox 檢測到 EWMH/ICCCM 兼容的窗口管理器,它會嘗試向根窗口發送 WM_STATE 消息,要求進入(或退出)全屏模式(由窗口管理器定義)。窗口管理器可以忽略此請求,但如果忽略,Firefox 會認為請求被拒絕,並將此結果傳遞給用戶,這會導致什麼都沒有發生。一個常見的解決方法是在 about:config 中將 full-screen-api.ignore-widgets 設置為 true

相關錯誤報告:Bugzilla 1189622

全屏模式下 YouTube 的滾動條未隱藏/禁用

本文或本章節的事實準確性存在爭議。

原因: 這不應該發生。添加 uBlock Origin 過濾器是一種權宜之計,可能是由於 bug 或其他擴展干擾引起的。(在 Talk:Firefox 中討論)


此問題可以通過 uBlock Origin 過濾器修復。要添加過濾器,點擊「uBlock Origin 擴展圖標 > 三個齒輪(打開控制面板)> 我的過濾器」。然後,將以下內容添加到文本框中:

www.youtube.com##ytd-app:style(overflow: hidden !important;)

應用更改並重新加載 YouTube 窗口後,過濾器將生效。注意,您需要啟用美化過濾功能(中間帶眼睛的圖標)才能使其生效。

某些網站上的 JavaScript 右鍵菜單無法顯示

您可以嘗試在 about:config 中將 dom.w3c_touch_events.enabled 設置為 0

Firefox 無法記住默認拼寫檢查語言

默認拼寫檢查語言的設置方式如下:

  1. 在地址欄中輸入 about:config
  2. spellchecker.dictionary 設置為所選語言,例如 en_GB
  3. 請注意,對於作為 Firefox 插件安裝的字典,標記形式為 en-GB;而對於 hunspell 字典,標記形式為 en_GB

如果您僅安裝了系統範圍的 hunspell 字典,Firefox 可能不會記住您的默認字典語言設置。解決方法是至少安裝一個字典作為 Firefox 插件。注意,現在您會在「附加組件」中看到「字典」選項卡。您可能需要更改 about:preferences#general 中「首選網頁顯示語言」的順序,使拼寫檢查默認為插件字典的語言。

相關問題(StackExchange 平台):[16][17],[https://askubuntu.com/questions/184300/how-can-i-change-firefox

相關漏洞報告:Bugzilla 776028, Ubuntu bug 1026869

Firefox 無法找到系統範圍內的 Hunspell 拼寫檢查詞典

確保設置 spellchecker.dictionary_path 存在,並且其值設置為系統 Hunspell 詞典的路徑:/usr/share/hunspell

某些 MathML 符號丟失

您需要一些數學字體,如 Latin Modern Math 和 STIX(參見此 MDN 頁面:[18]),以正確顯示 MathML。

在 Arch Linux 中,這些字體由 texlive-fontsextra 提供,但默認情況下它們無法被 fontconfig 使用。詳情參見 TeX Live#Making fonts available to Fontconfig。也可以嘗試其他數學字體。如果遇到此問題 [19],安裝 otf-latinmodern-math 可能會有所幫助。

視頻加載但無法播放

這可能是 PulseAudio 的問題。請參見PulseAudio/問題解決#瀏覽器(Firefox) 視頻加載但無法播放英語PulseAudio/Troubleshooting#Browsers (firefox) load videos but do no play中的建議解決方案。

滾動時出現畫面撕裂

嘗試在「設置 > 常規 > 瀏覽」中禁用平滑滾動。請注意,頁面滾動可能會變得不平滑。

Firefox WebRTC 模塊無法檢測到麥克風

WebRTC 應用(例如 Firefox WebRTC getUserMedia 測試頁面)提示無法找到麥克風。問題在 ALSA 或 PulseAudio 設置下均可重現。Firefox 調試日誌顯示以下錯誤:

$ NSPR_LOG_MODULES=MediaManager:5,GetUserMedia:5 firefox
...
[Unnamed thread 0x7fd7c0654340]: D/GetUserMedia  VoEHardware:GetRecordingDeviceName: Failed 1

您可以嘗試在 about:config 頁面中將 media.navigator.audio.full_duplex 屬性設置為 false,然後重啟 Firefox。

如果您使用 PulseAudio 的 module-echo-cancel 並且 Firefox 無法識別虛擬回聲消除源,這也可能有所幫助。

WebRTC 共享指示器顯示 XML 解析錯誤

在同意共享麥克風或攝像頭後,您可能會在主窗口的左上角看到一個帶棕色背景和紅色邊框的窗口,顯示以下錯誤信息:

XML Parsing Error: no root element found
Location: chrome://browser/content/webrtcLegacyIndicator.xhtml
Line Number: 1, Column 1:
^

如果您遇到此問題,可以通過以下步驟解決:

  1. 訪問 about:support
  2. 單擊「清除啟動緩存」按鈕,並同意重啟瀏覽器。

詳情請參見 Mozilla 的錯誤報告

無法使用我的中國帳號登錄

Firefox 為中國用戶提供了本地服務,與國際版完全不同。使用 firefox 軟體包安裝的 Firefox 默認使用國際帳戶系統,若要切換至中國本地服務,您需要在此頁面安裝插件管理器,隨後即可使用中國帳號登錄。

使用 JACK 和 PulseAudio 時某些視頻無聲

如果您在使用 JACK 和 PulseAudio 時,某些視頻沒有聲音,這可能是因為這些視頻使用單聲道音頻。如果您的 JACK 設置使用超過立體聲的配置但您使用普通耳機,則可能會出現這種情況。要修復此問題,只需將 PulseAudio JACK Sink 的 front-center 埠連接到系統輸出的 playback_1playback_2 埠。

您還可以使用腳本自動完成此操作:

jack-mono.sh
#!/bin/sh
jack_connect "PulseAudio JACK Sink:front-center" "system:playback_1"
jack_connect "PulseAudio JACK Sink:front-center" "system:playback_2"

請注意,接收器和埠的名稱可能因您的配置而異。您可以使用 cadenceAUR 中的 Catia 之類的 Patchbay 查看您的 JACK 設置。

地理定位無法工作

最近,Google 限制了其定位服務在 Arch Linux 上的使用,這會導致網站啟用地理定位時出現以下錯誤:Geolocation error: Unknown error acquiring position。諸如 Hulu 之類的區域限制服務可能也會顯示類似錯誤,即使您已允許網站使用位置服務。

為避免這些問題,您可以切換為 Mozilla 定位服務。在 about:config 中將 geo.provider.network.url 設置為:

https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%

詳情請參見 FS#65241

右鍵單擊在窗口管理器中瞬間選擇了第一個選項

此問題在 i3bspwmxmonad 中都曾被觀察到。

要修復此問題,訪問 about:config 並將 ui.context_menus.after_mouseup 設置為 true

參見 [20]

禁用或啟用合成後 Firefox 窗口不重繪

取消設置環境變量 MOZ_X11_EGL

相關錯誤報告:Bugzilla 1711039

每次啟動時 Firefox 都請求設為默認瀏覽器

可以嘗試以下方法:如果您使用桌面環境,檢查 Firefox 是否已在系統設置中被設為默認瀏覽器。如果未設置,請設置為默認瀏覽器;否則,運行以下 xdg-settings(1) 命令(由 xdg-utils 軟體包提供)查詢系統默認瀏覽器:

$ xdg-settings get default-web-browser

如果未返回值或默認瀏覽器不是 Firefox,請運行以下命令設置:

$ xdg-settings set default-web-browser firefox.desktop

如果 Firefox 仍提示設為默認瀏覽器,您可以通過設置處理 httphttps URL 協議來解決。運行以下 xdg-mime(1) 命令:

$ xdg-mime default firefox.desktop x-scheme-handler/http
$ xdg-mime default firefox.desktop x-scheme-handler/https

如果仍然無效,請檢查是否設置了環境變量 GTK_USE_PORTAL(所有值都會觸發此問題),如果是,請取消設置。如果問題仍未解決或您未設置此變量,請訪問 Firefox 的 about:config,檢查變量 widget.use-xdg-desktop-portal 是否設置為 true,如果是,請設置為 false

如果您希望完全禁用默認瀏覽器檢查,請訪問 Firefox 的 about:config,將 browser.shell.checkDefaultBrowser 設置為 false

視頻卡頓

如果您發現視頻播放卡頓,並且注意到 Firefox 在觀看視頻(尤其是高解析度視頻)時僅占用一個核心達到 100%,以下方法可能對您有所幫助。

訪問 about:config,搜索 dom.ipc.processCount,並將 dom.ipc.processCount.file 從 1 改為更高的值。一種臨時方法是每次增加一個值,直到效果滿意,但 4 通常是一個不錯的選擇。

孟加拉字體在某些頁面損壞

在大多數情況下,安裝 noto-fonts 並將 Noto Sans Bengali 設置為字體設置中的默認字體即可解決問題。然而,在一些社交媒體網站中,孟加拉字體可能仍然會損壞。在這些情況下,Mozilla 提供了詳細的指南,幫助查看頁面中加載了哪些字體。使用頁面檢查器,查找所有加載的字體。通過從系統中刪除除 Noto Sans 外的其他字體,可以永久解決該問題。

某些字體是作為其他軟體包的依賴項安裝的。例如,chromium 會將 ttf-liberation 安裝為依賴項,後者會在一些 Firefox 頁面中自動加載,並破壞這些頁面上的孟加拉字體。為了解決這個問題,可以在字體配置中使用以下規則:

$XDG_CONFIG_HOME/fontconfig/fonts.conf
<match target="pattern">
 <test qual="any" name="family"><string>Liberation</string></test>
 <edit mode="assign" name="family" binding="same"><string>Noto Sans Bengali</string></edit>
</match>

語音接口沒有語音

Firefox 使用 speechd 進行文本轉語音(tts)。你可以使用命令 spd-say "some test sentence" 測試是否能朗讀文本,或者使用 spd-say -L 獲取語音列表。如果沒有語音,你可以通過安裝 espeak-ng 包來獲得一些語音。如果它們無法直接使用,可能需要進行配置。你可以使用 spd-conf 命令或編輯配置文件 .config/speech-dispatcher/speechd.conf。配置文件中應包含以下行(前面沒有 #):

AddModule "espeak-ng"                "sd_espeak-ng" "espeak-ng.conf"
DefaultModule espeak-ng

閱讀模式中缺少大聲朗讀圖標

啟用語音合成

根據 [21],語音合成必須啟用(默認情況下已啟用)。要啟用它,請在 about:config 中將 media.webspeech.synth.enabled 設置為 true

禁用指紋識別保護

根據 [22],指紋識別保護會禁用 WebSpeech API。如果啟用了此選項,你需要禁用它才能使朗讀器正常工作。要禁用指紋識別保護,請在 about:config 中將 privacy.resistFingerprinting 設置為 false

禁用過濾語音

如果看不到朗讀圖標,請嘗試在 about:config 中將 narrate.filter-voices 設置為 false

這可以用來檢查 speech-dispatcher 是否工作。如果有效,可能是由於打開閱讀模式的文章語言沒有安裝對應的語音(檢查 spd-say -L)。如果已經安裝了文章語言的語音,可能存在與 speech-dispatcher 配置相關的不正確設置或默認值。

下載文件時文件對話框無法打開

如果在下載文件時沒有顯示文件選擇器,即使在 Firefox 設置中啟用了「始終詢問保存位置」選項,也可能是你沒有同時安裝 xdg-desktop-portal 和合適的實現。桌面環境通常提供實現,但如果你使用的是獨立的窗口管理器,如 i3,則可能需要手動安裝。安裝 xdg-desktop-portal,例如 xdg-desktop-portal-gtk

在平鋪式窗口管理器或 Wayland 混成器中通知不浮動

如果你使用的是平鋪式窗口管理器Wayland 混成器,並且 HTML 通知顯示為正常的 Firefox 窗口而不是浮動彈出窗口,則需要安裝 libnotify 並確保你有一個正常工作的桌面通知程序伺服器,例如 mako

參見