Firefox (正體中文)

From ArchWiki
翻譯狀態:本文章是 Firefox 的翻譯版本。最近一次的翻譯時間:2022-05/10。點擊本連結查看英文頁面之後的變更。

Firefox 是由 Mozilla 開發的開放原始碼圖形界面網頁瀏覽器。

安裝

Firefox 可以透過 firefox 軟體包來 安裝

其他版本:

  • Firefox Developer Edition — 專門為開發者打造的瀏覽器
https://www.mozilla.org/firefox/developer/ || firefox-developer-edition
  • Firefox Extended Support Release — 長期支援版本
https://www.mozilla.org/firefox/organizations/ || firefox-esrAURfirefox-esr-binAUR
  • Firefox Beta — 發行前版本
https://www.mozilla.org/firefox/channel/desktop/#beta || firefox-beta-binAUR
https://www.mozilla.org/firefox/channel/desktop/#nightly || firefox-nightlyAUR
  • Firefox KDE — OpenSUSE 加入了一些附加元件 ,與 KDE 整合的版本
https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox || firefox-kde-opensuseAURfirefox-kde-opensuse-rpmAURfirefox-kdeAURfirefox-developer-edition-kdeAUR

除了英文以外,Firefox還有其他語言,語言套件名稱通常叫做 firefox-i18n-languagecode (其中, languagecode 代表語言代號,像是 dejafr等)。 firefox 的可用語言列表可以查看 firefox-i18nfirefox-developer-edition 的可用語言列表可以查看firefox-developer-edition-i18nfirefox-nightlyAUR 的可用語言列表可以查看firefox-nightly-

註記: -nightly-developer-edition 因為會頻繁更新翻譯,可能導致崩潰,所以停用語言套件。 你可能需要在 about:config 中設定 intl.locale.requested 來強制變更使用者介面語言 [1]

附加元件

Firefox 擁有龐大的附加元件站,使用這些附加元件可以增加新的功能或修改既有的功能。Firefox 的附加元件管理員負責管理已安裝的附加元件和找尋新的附加元件。

想知道如何安裝新的附加元件或查看附加元件列表,請查看 Browser extensions

增加搜尋引擎

搜尋引擎可以在書籤中的 網址 部分填入帶有 %s 的網址來加入,關鍵字 部分使用者可以自行定義:

網址:
https://duckduckgo.com/html/?q=%s
關鍵字:
d

想要搜尋時,可以在網址列先輸入自定義的關鍵字,後面接著要搜尋的字串,例如,d archwiki 會在 DuckDuckGo 中搜尋 archwiki

搜尋引擎也可以透過安裝附加元件來增加,可以查看這個網頁 來尋找可用的搜尋工具或引擎。

Mycroft Project 也提供許多種的搜尋引擎可供使用。

你也可以使用 add-to-searchbar 擴充套件藉由右鍵點擊各個網站的搜尋框,選擇Add to Search Bar...來增加該網站搜尋引擎到搜尋列。

firefox-extension-arch-search

安裝 firefox-extension-arch-searchAUR 軟體包在 Firefox 工具列增加 Arch 相關搜尋(AUR、維基、論壇、軟體包等)。

外掛程式

自 Firefox 85 以後,不再支援外掛程式,包含 Flash Player。[2][3]

偏好設定

Firefox 設定編輯器可以新增或修改程序預設的偏好設定,這些偏好設定大多是不會出現在偏好設定畫面中的進階設定值,如果想要進入設定編輯器,可在網址列輸入:

about:config

這些偏好設定會影響目前的使用者設定檔,也有可能透過 Firefox Sync 同步到其他裝置。請注意,只有 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 Sync 來同步 NoScript 的設定值。

設定的儲存位置

Firefox 透過使用者設定檔資料夾的 prefs.js 儲存使用者設定值,使用者設定檔資料夾通常位於 ~/.mozilla/firefox/xxxxxxxx.default/

Firefox 也允許透過 user.js 儲存設定值: user.js 也存在於使用者設定檔資料夾。 user.js 的設定值將會取代 prefs.js 的設定值。 如果想要知道如何修改這個文件,可以先看看 custom user.js,這個是對於注重隱私與安全性使用者的相關設定檔。

上述的方法有個缺點,就是這些設定不會套用到整個系統,而且,這也不是一個預先設定值(pre-configuration),因為你必須先開啟瀏覽器才會建立使用者設定檔,所以,你可以先讓 firefox 建立新的使用者設定檔後關閉瀏覽器,然後 複製 之前已經建立好的使用者設定檔到資料夾。

有時候你想要鎖定某些設定值,可以幫助你自訂 Firefox。你可以根據 這裡 的步驟建立一個全域設定值:

1. 建立 /usr/lib/firefox/defaults/pref/local-settings.js:

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

2. 建立 /usr/lib/firefox/mozilla.cfg (在這裡儲存設定值):

//
//...你的設定...
// 如果你想要停用 Pocket,請取消註解以下幾行
// lockPref("extensions.pocket.enabled", false);
// lockPref("browser.newtabpage.activity-stream.feeds.section.topstories", false);

請注意,第一行必須是 //,這和 user.js 語法類似。

多媒體播放

Firefox 使用 FFmpeg 播放在 HTML5 的<audio><video> 元素中的多媒體。 造訪 video-test pageaudio-test page 來查看所支援的格式。

Firefox 使用 PulseAudio 來播放和擷取音訊。如果沒有安裝 PulseAudio 的話,Firefox 會使用 alsa

提示:

如果沒有設定音效,Firefox 可能無法播放影片。 如果你有打算使用 PipeWireWirePlumber,請確保它們能夠正常運作。

HTML5 數位版權管理(DRM)、Widevine

Widevine 是Netflix、Amazon Prime Video等廠商為了保護自家影片的數位版權管理工具。 你可以在 設定 > 一般 > 數位權利管理(DRM)內容 啟用它。 如果你造訪一個有 Widevine 的網站但 Firefox 的選項沒有啟用,Firefox 會在網址列下方顯示要求安裝 DRM,允許後並等待其下載完成,你就可以觀看受 Widevine 保護的影片內容了。

在有 Widevine 的情況下,因為沒有使用 hardware DRM playback,Firefox最高只能播放畫質 720p 的影片。在觀看 DRM 內容的時候也不要使用隱私模式。

Open With 附加元件

  1. 安裝 Open With 附加元件.
  2. 前往 附加元件與佈景主題 > Open With > 選項.
  3. 根據步驟安裝必要檔案並測試
  4. 點選 新增瀏覽器
  5.  填入名稱以及正確的指令,例如 /usr/bin/mpv
  6. (額外步驟) 可以加入一些參數,例如你可能想要 --force-window --ytdl
  7. 在連結按右鍵或訪問有影片的網頁,在 Open With 菜單中選擇上面剛建立的選項,如果網站有被支援,mpv應該會被打開

同樣的步驟也可以用於影片下載器,像是 youtube-dl

硬體加速

在 Wayland [4] 和 Xorg [5] [6] 下可以透過 VA-API 來使用 Hardware video acceleration

在 Firefox 中啟用 VA-API:

  1. 確定你的顯示卡可以使用 VA-API
  2. 確保 WebRender 已經啟用。
    • 可以從 about:support 中的 Compositing 來查看是否已經啟用 WebRender,預設情況下,GNOME 和其他桌面環境是啟用的 [7]
      • 請確認你不是使用軟體式 WebRender(Software WebRender),因為它在 2021 年 8 月已經失效了 [8]
      • 如果有需要,你可以藉由將 gfx.webrender.all 設定為 true 來強制啟用硬體 WebRender。
  3. about:config 中新增以下設定值:
    註記: Firefox 96 只要設定 media.ffmpeg.vaapi.enabledmedia.rdd-ffmpeg.enabled 為 true 應該 就可以了。 以下有許多設定因為 RDD 沙盒 已大致上被修復而不再被需要。 然而,有些問題可能還存在 [9]
    註記: 自 Firefox 97 起, 你只需要設定 media.ffmpeg.vaapi.enabled 為 true 應該 就可以了。[10]
    註記: Firefox 98 中,VA-API 會被 RDD 沙盒封鎖,但可以藉由設定 MOZ_DISABLE_RDD_SANDBOX=1 環境變數來繞過限制,雖然這麼做不太安全。 [11]
    • media.ffmpeg.vaapi.enabled 設定為 true 來在 VA-API 中使用 FFmpeg
    • media.ffvpx.enabled 設定為 false 來停用 VP8/VP9 的內部編碼器。 這個選項是必要的,儘管 這個錯誤 已經被修正了 [12][13]
    • media.navigator.mediadatadecoder_vpx_enabled 設定為 true 來讓 WebRTC 使用 VA-API 硬體解碼 [14]
    • media.rdd-vpx.enabled 設為 false 來停用 VP8、VP9 的遠端資料解碼器程序。 Firefox 會嘗試使用 VP8、VP9 的 RDD 程序,但 RDD 沙盒會阻擋 VA-API 的存取 [15]。 停用 VP8、VP9 的遠端資料解碼器程序的意思是 VA-API 將會在內容處理程序中執行。 Firefox 96 大致上已經支援在 RDD 程序中執行 VA-API 了。
      • 另一個可行的解決方式是將 media.rdd-process.enabled 設為 false 來完全停用 RDD 程序,而不是像上述所說的只停用 VP8、VP9 。
    • 在 Intel 處理器上,某些倩況下在使用 Intel iHD 驅動程式 intel-media-driver 時,VA-API 可能會無法正常使用,你可以試著使用 Intel i965 驅動程式 libva-intel-driver。 這個方法不適用於 Intel Iris Xe 顯示晶片,因為它只被 intel-media-driver 支援。 幸運地,Firefox 96 推出了更佳支援性的 RDD 程序,對於 intel-media-driver 應該有幫助。 [16] [17] [18]
      • 如果以上方法皆不可行,在萬不得已的情況下,可以停用內容處理程序的沙盒,但是,這會有很嚴重的安全疑慮並且將會無法防禦來自攻擊者的攻擊,因此建議不要更動沙盒的設定 [19]。 如果非得要這麼做,你可以把 security.sandbox.content.level 設為 0 來停用內容處理程序的沙盒 [20]
  4. 使用以下 environment variable 來執行 Firefox:
    • 在使用 Wayland 的情況下, 使用 MOZ_ENABLE_WAYLAND=1,詳情請看 #Wayland.
    • 在使用 Xorg 的情況下,Firefox 自從版本 94,預設使用 EGL 模式執行,所以不用特別設定。
      • 對於舊版的 Firefox,使用 MOZ_X11_EGL=1 或在 about:config 中設定 gfx.x11-egl.force-enabledtruegfx.x11-egl.force-disabledfalse
警告: 停用內容處理程序的沙盒會有安全疑慮,自 Firefox 96 開始支援在 RDD 程序中執行 VA-API。
提示:
  • 你可以透過 Hardware video acceleration#Verification 檢查 Firefox Va-API 的日誌來確認有沒有使用 VAAPI。 使用 MOZ_LOG="PlatformDecoderModule:5" 環境變數來執行 Firefox 並在播放影片時確認日誌有輸出以啟用 VA-API(搜尋 VA-API 字串)。 請注意,日誌裡面可能只會表示前面提到的 compositors 的其中一種(WebRender 或 OpenGL),取決於你做的設定。
  • 你的硬體必須能夠支援特定編碼才可以在 YouTube 使用硬體解碼。 你可以透過 Hardware video acceleration#Verifying VA-API 來檢查硬體支援程度,YouTube 影片的編碼 有時候 可以藉由 h264ifyenhanced-h264ify 附加元件控制,或者你也可以安裝 firefox-h264ifyAUR
註記:
  • NVIDIA 的閉源驅動版本 470 開始支援 DMA-BUF [21][22]。 將 CUDA、DMA-BUF 和 libva-nvidia-driverAUR 一起使用可能可以成功執行 [23]。 Firefox 的硬體加速需要 DMA-BUF [24],而且現在 VDPAUlibva-vdpau-driver 都不支援 DMA-BUF,所以最後一個選項可能沒有作用。
  • 目前 Firefox 的 VAAPI 可以解碼 H.264/AVC、VP8、VP9 和 AV1 格式的影片,AV1 格式至少需要 Firefox 98 [25]
  • 在擁有多個顯示卡的系統中,根據 這個已解決問題 應該會自動為 VA-API 選擇合適的顯示卡。
  • 有些影片(例如 YouTube VR) 可能會因為 media.ffvpx.enabled 設定為 false 而顯示黑畫面 [26]
  • 為了解決 VA-API 不能在 RDD 程序中正確執行,你可以停用 RDD 程序的沙盒,而不用將 VA-API 從內容處理程序移到上述建議的程序,但不推薦這種行為,因為停用沙盒將會無法防禦來自攻擊者的攻擊,會有嚴重的安全疑慮。 你可以使用 MOZ_DISABLE_RDD_SANDBOX=1 環境變數來停用沙盒。
  •  AMDGPU 的使用者如果有用 linux-hardened 可能需要用 CONFIG_CHECKPOINT_RESTORE=y 重新編譯 linux-hardened,因為 mesa 需要 kcmp 系統呼叫,但是可能不再需要做這個步驟因為 這個問題已經解決了

拼字檢查

Firefox 可以使用安裝於系統的 Hunspell 字典或藉由附加元件安裝的字典來檢查拼字。

想要在特定語言開啟拼字檢查只要在任何輸入區塊按右鍵並勾選 拼字檢查。 如果要為拼字檢查選擇特定語言,你必須要再按一次右鍵並在 語言 中選擇想要的語言。

如果語言選項中沒有預設語言,請查看 #Firefox 不記得拼字檢查預設語言

Hunspell 字典

安裝 Hunspell 和你需要語言的字典。

字典附加元件

你可以藉由在任何輸入區塊按右鍵並在 語言 中點選 新增字典...字典與語言套件清單 選擇你想要的字典。

提示: 俄文的附加元件已被打包成 firefox-spell-ru

與 KDE 整合

  • 為了讓 KDE 長得和 GTK 應用程式一樣(包括 Firefox),你可以安裝 breeze-gtkkde-gtk-config,然後前往系統設定 外觀 > 應用程式風格 > 設定 GNOME/GTK 應用程式風格…,並選擇 'Breeze'。
  • 為了在 Firefox 64 和之後的版本能夠使用 KDE 文件選擇器和對話框,安裝 xdg-desktop-portalxdg-desktop-portal-kde,然後做以下任一項步驟:
    • about:config 中將 widget.use-xdg-desktop-portal.mime-handler 設定為 1。 你也應該要將 widget.use-xdg-desktop-portal.file-picker2 設為 1
    • 使用 GTK_USE_PORTAL=1環境變數 執行 Firefox。
註記: 使用 GTK_USE_PORTAL=1 或將 widget.use-xdg-desktop-portal.mime-handler 設為 1 會導致 Firefox 每次啟動都會問你要不要設為預設瀏覽器.
  • 為了和 KDE MIME 型式系統、代理伺服器、文件選擇對話框整合,你可以使用從 AUR 安裝經過 OpenSUSE 改造的 firefox-kde-opensuseAUR,或者,你可以建立一個從已廢棄 ~/.local/share/applications/mimeapps.list 到 MIME 資料庫 ~/.config/mimeapps.list 的符號連結來達成與 MIME 型式系統的整合。
  •  擴充套件 / 附加元件可能也會提供額外的整合,像是:
提示: 為了避免出現重複的多媒體播放器小工具項目或工具列圖示,請將 media.hardwaremediakeys.enabled 設為 false,這會停用來自 Firefox 的多媒體項目,讓它只用來自 Plasma 𢿫合附加元件的項目。

小提示與小技巧

一般加強技巧可以查看 Firefox/Tweaks,和隱私相關的加強技巧可以查看 Firefox/Privacy

暗色主題

正常情況下,Firefox 應該會跟隨你的 GTK 主題設定和你的系統暗色外觀設定(例如 GNOME 或 KDE 的外觀設定),如果沒有跟隨系統設定的話,請確認你有安裝正確的 xdg-desktop-portal 套件。

自從 Firefox 68 開始,不管你的主題是否是暗色主題,你都可以讓 Firefox 的所有界面甚至是網頁開啟暗色主題,你可以藉由在 about:configui.systemUsesDarkTheme 設為 1 [27]

自從 Firefox 100 開始,網頁暗黑模式的進階控制是可選的(使用 CSS 媒體查詢 prefers-color-scheme),在 Firefox 裡可以使用 layout.css.prefers-color-scheme.content-override,將這個設定設為 3 來使其跟隨瀏覽器主題,設為 2 來使其跟隨系統主題設定(前面所述的 ui.systemUsesDarkTheme,如果使用者沒有更改設定或系統不支援暗黑模式設定的話,預設值為 0),如果設為 10,則代表強制使用明亮模式或暗黑模式,這個設定在可以在 Firefox 的使用者設定 一般 > 語言與外觀 > 網站外觀 中找到。

畫面更新率

如果 Firefox 無法自動偵測正確的畫面更新率,Firefox 會將它預設為 60 fps,你可以手動將 layout.frame_rate 設為正確的數值(例如 144 或 144 Hz)。

限制記憶體使用量

為了防止頁面使用過多的記憶體(可能導致 OOM),你可以使用 Firejailrlimit-as 選項。

新分頁位置

你可以設定 browser.tabs.insertAfterCurrentbrowser.tabs.insertRelatedAfterCurrent 來控制新分頁的出現位置(相對位置或絕對位置)。 詳情請看 [28]

網頁截圖

你可以使用截圖按鈕(可於漢堡選單 > 更多工具 > 自訂工具列 中加到工具列)或在網頁按右鍵,並選擇 拍攝畫面截圖 來截圖網頁,詳情請看 [29]。 你也可以使用開發人員工具裡的截圖按鈕來截圖,你可以從開發人員工具設定來加入。開發人員工具設定可以從開發人員工具頁面右上的三個點來開啟。

Wayland

較新版本的 Firefox 支援藉由環境變數開啟 wayland 模式。

$ MOZ_ENABLE_WAYLAND=1 firefox

為了能讓它永久啟用,你可以查看 Environment variables#Graphical environment,並正常從啟動器啟動它。

你可以藉由 Window Protocol 來驗證是否有開啟成功,在網址列輸入 about:support 並檢查 Window Protocol, 它應該顯示 wayland。 如果它顯示 x11 表示你正在 Xorg 顯示伺服器中執行 Firefox;如果它顯示 xwayland 表示你的系統是使用 Wayland,但你將 Firefox 當作傳統 X11 應用程式來執行。

如果你需要一直在 Wayland 和 X.org 中變換,在你的登入 shell 時加入判斷式可能對你有幫助,例如 Bash~/.bash_profile:

if [ "$XDG_SESSION_TYPE" == "wayland" ]; then
    export MOZ_ENABLE_WAYLAND=1
fi

視窗管理員規則

使用--class 選項更改 Firefox 的 WM_CLASS 字串來套用不同設定到 Firefox 視窗。

使用者設定檔

你需要多個使用者設定檔才可以開啟新的 Firefox 實例,你可以藉由以下方法建立新的使用者設定檔:

$ firefox [--new-instance] -P

啟動 Firefox 時,如果沒有使用者設定檔目前沒有被使用的話,可以指定類別:

$ firefox [--new-instance] -P 使用者設定檔名稱 --class=類別名稱

Firefox Profilemaker 可以用於建立你喜好預設值的使用者設定檔。

觸控螢幕手勢與觸控板捲動

environment variable MOZ_USE_XINPUT2=1 開啟 Firefox 來啟用觸控手勢(例如捲動或兩指放大)與一對一觸控板捲動。 在 Wayland 模式下,你可能也需要設定 MOZ_ENABLE_WAYLAND=1

多個首頁

要讓 Firefox 在開啟視窗時同時開啟多個分頁,首先先打開你想要的網頁,然後前往 偏好設定 > 首頁,在 首頁與新分頁 下點選 使用目前所有頁面 按鈕。

你也可以直接前往 偏好設定 > 首頁,在 首頁與新分頁 下把第一欄設為 自訂網址...,然後用以下格式輸入你想要作為首頁的網址:

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

疑難排解

安全模式

在啟動 Firefox 時加上參數 -safe-mode 來啟動 安全模式,這會停用附加元件、主題、硬體加速、即時編譯和其他附加功能。

安全模式也可以藉由 Firefox 的漢堡選單,點擊 說明,選擇 重新啟動並停用附加元件…,Firefox 會重新啟動並顯示 Firefox 安全模式對話框。

自 Firefox 88,安全模式的英文從 Saft Mode 改為 Troubleshoot Mode

重新整理 Firefox

某些使用者在 Firefox 中遇到的問題可能是由使用者設定檔導致(比如說毀損)。

如果你已經排除其他可能的原因,那你可以試試創建新的使用者設定檔,看看是否解決你的問題,更多如何創建新的使用者設定檔和如何切換設定檔的資訊可以在 Firefox 說明頁面 中找到。

如果創建新的使用者設定檔可以解決你的問題,你應該切回你原本的設定檔並考慮重新整理你的 Firefox。

重新整理 Firefox 會保留所有的瀏覽記錄、下載記錄、書籤、網頁表單自動完成資訊、cookies、個人字典和密碼,然後轉移它們到沒有附加元件、主題、附加元件資料、設定的新使用者設定檔,並會保留原設定檔的備份。

要重新整理設定檔,前往 about:support,然後點擊 重新整理 Firefox,並確認。about:support 也可以從漢堡選單的 說明,選擇 疑難排除資訊 中找到。

更多關於 重新整理 Firefox 的資訊,包括被轉移資料的進階資訊,可以在 Firefox 說明頁面 中找到。

停用硬體加速

如果你對於 Firefox 的硬體加速有問題,例如畫面靜止或毀損,試著用 安全模式 啟動 Firefox 並確定問題是否存在。如果這個步驟可行,只要將 about:config 中的 media.ffmpeg.vaapi.enabled 設為 false 來停用硬體加速並重新啟動 Firefox 即可。

某個附加元件不能在某些 Mozilla 的網域中使用

預設情況下,附加元件不會影響到 extensions.webextensions.restrictedDomains 中指定的網頁。 如果你不想這麼做,你可以把這個欄位清空(一些特別頁面像是 about:* 仍不被影響)。

Firefox 啟動時間過長

如果 Firefox 花太多時間啟動,有可能是因為沒有設定 /etc/hosts。查看 Network configuration#Local network hostname resolution 來了解如何設定。

不正常行為的 Firefox 附加元件或太多附加元件可能導致啟動緩慢,這可以利用 安全模式 來確認,安全模式將會停用附加元件。

啟動緩慢的也有可能是由使用者設定檔導致,更多有關使用者設定檔的疑難排解資訊請查看 #重新整理 Firefox

疑難排解字型

查看 Font configuration

Firefox 有一個設定決定從字型設定檔取代多少次。你可以更改 gfx.font_rendering.fontconfig.max_generic_substitutions127(可用的最大數值) 來允許它使用所有你的取代規則。

針對 emoji,Firefox 使用 Twemoji Mozilla 字型,你可以在 about:configfont.name-list.emoji 設為 emoji 來使用系統的 emoji 字型。 另外,為了避免 Mozilla 字型干擾你系統的 emoji 字型,請將 gfx.font_rendering.opentype_svg.enabled 設為 false 或將 /usr/lib/firefox/fonts/TwemojiMozilla.ttf 移除,詳情請查看 pacman#Skip files from being installed to system

設定 email 用戶端

在瀏覧器,mailto 連結預設會開啟一個網頁應用程式,像 Gmail 或 Yahoo Mail。你可以前往 設定 > 應用程式,然後修改內容類型為 mailto 的動作來開啟外部 email 程式,程式的路徑必須是絕對路徑(例如 Kmail的話是 /usr/bin/kmail)。

在瀏覧器外,mailto 連結是由 x-scheme-handler/mailto MIME 型式處理,它可以簡易地使用 xdg-mime 來設定。詳情請查看 Default applications

檔案關聯

請查看 Default applications.

Firefox 一直建立 ~/Desktop ,但我不要

Firefox 預設使用 ~/Desktop 來存放下載和上傳的檔案。你可以設定 XDG user directoriesXDG_DESKTOP_DIR 來更改至其他資料夾

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

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

中鍵點擊行為

如果想要和類 UNIX 系統一樣,可以使用中鍵點擊貼上已複製的文字,你可以在 about:config 中將 middlemouse.contentLoadURLmiddlemouse.paste 設為 true。 自 Firefox 57,預設已經啟用 middlemouse.contentLoadURL 了。

general.autoScroll 設為 true 來使用中鍵點擊滾動頁面(Windows 瀏覽器預設行為)。

按 Backspace 鍵無法返回上一頁

根據 MozillaZineBackspace 鍵會依照瀏覧器在不同作業系統而有不同作用,不過你可以藉由一些設定來允許 Backspace 鍵返回上一頁、前進下一頁、往上滾動、往下滾動或什麼都不做。

你可以在 about:configbrowser.backspace_action 設為 0 來使用 Backspace 鍵返回上一頁、Shift+Backspace 前進下一頁。

你也可以將 browser.backspace_action 設為 1 來使用 Backspace 鍵往上滾動、Shift+Backspace 往下滾動。設定其他數值會讓它不執行任何動作(Arch Linux預設設定為 2,換句話說,Backspace預設沒作用)。

Firefox 沒有記住登入資訊

這有可能是因為 Firefox 的使用者設定檔資料夾的 cookies.sqlite 損壞了,你可以在 Firefox 沒有開啟時,重新命名或刪除 cookie.sqlite 來修正它。

打開終端機並輸入以下指令:

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

其中,profile id 是一串由 8 個隨機字母組成的字串。

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

如果問題依舊存在,檢查 cookies.sqlite.bak 檔案是否存在,你可以使用它回復 cookies。

無法進入或離開全螢幕

如果 Firefox 偵測到符合 EWMH/ICCCM 標準的視窗管理員,它會嘗試傳送一個 WM_STATE 訊號給根視窗來讓 Firefox 進入或離開全螢幕模式(如視窗管理員所定義的)。 視窗管理員可以選擇忽略這個訊號,如果它們真的這麼做的話,Firefox 將會認為這個請求被拒絕,從使用者來看就是什麼事都沒發生,這可能導致無法讓影片全螢幕。 解決辦法是在 about:configfull-screen-api.ignore-widgets 設為 true

相關錯誤報告:Bugzilla 1189622

JavaScript 右鍵選單在某些網站消失

你可以試著將 about:configdom.w3c_touch_events.enabled 設為 0

Firefox 不記得拼字檢查預設語言

預設拼字語言可以藉由以下步驟設定:

  1. 在網址列輸入 about:config
  2. spellchecker.dictionary 設為你想要的語言,例如 en_GB
  3. 注意,如果是用 Firefox 附加元件安裝字典,請輸入 en-GB;如果是 hunspell 的字典,則是 en_GB

如果你只有 hunspell 的字典,Firefox 可能不會記住你的拼字語言設定,你可以安裝至少一個 字典 附加元件來解決這個問題。 請注意,你現在應該在 附加元件管理員 裡會多一項 字典,你可能需要更改 about:preferences#general網頁優先顯示語言 的順序來讓預設拼字語言和字典對應。

StackExchange 平臺的相關問題: [30][31][32]

相關問題回報: Bugzilla 776028Ubuntu bug 1026869

某些 MathML 符號無法顯示

你需要一些 Math 字型像是 Latin Modern Math 和 STIX(查看這個 MDN 網頁: [33])來正確地顯示 MathML。

在 Arch Linux,這些字型是由 texlive-core texlive-fontsextra 提供,但它們預設不適用於 Fontconfig,詳情請查看 TeX Live#Making fonts available to Fontconfig。 你也可以試試看其他 Math 字型。 如果你遇到了這個錯誤 [34],安裝 otf-latinmodern-math 會有幫助。


在滾動頁面時螢幕撕裂

請嘗試在 設定 > 瀏覽 中關閉平滑捲動。

Firefox WebRTC 模組無法偵測麥克風

Firefox WebRTC getUserMedia 測試網頁 這類的 WebRTC 應用程式警告無法找到麥克風。 問題可以藉由設定 ALSA 和 PulseAudio 重現。 Firefox 除錯日誌會顯示以下錯誤:

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

你可以試著將 about:configmedia.navigator.audio.full_duplex 設為 false,然後重新啟動 Firefox。

如果你正在使 PulseAudio module-echo-cancel 且 Firefox 不認得虛擬回音消除來源,這個可能也對你有幫助

無法登入我的中國帳號

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"

記住這裡的 sink 與埠的名稱可能和你不一樣,你可以藉由一些工具像是 cadence 來檢查你的 JACK 設定。

無法使用地理位置定位

最近,Google 限制了 Arch Linux 使用它的定位服務,這會導致在啟用地理位置定位的網站會發生以下錯誤:Geolocation error: Unknown error acquiring position。區域限定的服務像是 Hulu 可能也會顯示類似的錯誤,即使已經開啟了定位服務,網站仍指出無法取得位置。

你可以換成使用 Mozilla Location Service 來避免發生這個問題。 在 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 就可以解決這個問題。

查看 [35]

Firefox 視窗在停用或啟用合成器時沒有重新繪製

不要設定 MOZ_X11_EGL 環境變數。

相關錯誤報告: Bugzilla 1711039

Firefox 每次開啟都會一直要求將其設為預設瀏覽器

你可以嘗試一些步驟: 如果你正在使用 桌面環境,請檢查在系統設定中 Firefox 是否是你的預設瀏覽器,如果不是,請設定它,不然你也可以執行以下由 xdg-utils 軟體包提供的 xdg-settings(1) 指令來查詢目前設定的預設瀏覽器:

$ 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 環境變數(不管設定什麼值),如果有,請取消設定,相關問題報告: Bugzilla 1516290。 如果還是不行或你沒有設定環境變數,請前往 about:config,檢查一下 widget.use-xdg-desktop-portal 變數是否被設為 true,如果是,將它設為 false

如果你想要取消自動預設瀏覽器檢查,前往 about:config 然後將 browser.shell.checkDefaultBrowser 設為 false

影片卡卡的

如果你覺得影片看起來卡卡的,而且你發現在觀看影片時(特別是高畫質影片),Firefox 只讓一顆核心滿載,這個可能對你有幫助。

前往 about:config,接著搜尋 dom.ipc.processCount,然後把 dom.ipc.processCount.file 從 1 設定為更高的數字,4 是個不錯的數字,不然你可以慢慢每次加 1,直到你滿意其結果。

孟加拉語字型在某些頁面中無法正常顯示

在大多數情況下,在安裝 noto-fonts 及將 Noto Sans Bengali 設為 字體及顏色 的預設字型就可以解決了。 然而,在某些社群網站,孟加拉語字型仍無法正常顯示。 在那些情況下,Mozilla 提供了有關如何查看頁面中加載的所有字體的詳細說明。 你可以使用 頁面檢測器 來查看特定頁面中 所有已載入的字型。 可以藉由從系統中移除不是 Noto Sans 的其他字型來永久解決問題。

在安裝其他套件時,有些字型可能會因為依賴而一併被安裝。 例如: chromium 會因為依賴而安裝 ttf-liberation,這些字型可能會自動在某些 Firefox 頁面載入而導致孟加拉語字型無法正常顯示,可以藉由以下步驟來解決:

警告: 這可能導致你的系統處在不完整的狀態。 請查看 System maintenance#Avoid certain pacman commands.
# pacman -R --nodeps --nodeps ttf-liberation
  • 啟動 Firefox 並重新載入有問題的網站。
  • 再次安裝 ttf-liberation, 使它被 Chromium 依賴:
# pacman -S --asdeps ttf-liberation

Web Speech API 沒有聲音

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

參見