Firefox (正體中文)

From ArchWiki
Jump to navigation Jump to search
翻譯狀態:本文章是 Firefox 的翻譯版本。最近一次的翻譯時間:2021-09-28。點擊本連結查看英文頁面之後的變更。

Tango-preferences-desktop-locale.png本條目或段落需要進行翻譯Tango-preferences-desktop-locale.png

註記: Translating... (討論)

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-esrAUR or firefox-esr-binAUR
  • Firefox Beta — 發行前版本
https://www.mozilla.org/firefox/channel/desktop/#beta || firefox-betaAUR or firefox-beta-binAUR
https://www.mozilla.org/firefox/channel/desktop/#nightly || firefox-nightlyAUR
https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox || firefox-kde-opensuseAUR

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

附加元件

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。[1][2]

偏好設定

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

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 [3] 和 X.org [4] [5] 下可以透過 VA-API 來使用 Hardware video acceleration

在 Firefox 中啟用 VA-API:

  1. 確定你的顯示卡可以使用 VA-API
  2.  使用支援硬體加速的 compositor,例如:
  3.  在 about:config 中新增以下設定值:
    • media.ffmpeg.vaapi.enabled 設定為 true 來在 VA-API 中使用 FFmpeg
    • media.ffvpx.enabled 設定為 false 來禁用 VP8/VP9 的內部編碼器。 這個選項是必要的,儘管 這個錯誤 已經被修正了 [7][8]
    • media.rdd-vpx.enabled 設定為 false 來禁用 VP8/VP9 的遠端資料解碼器(remote data decoder)。 自從 Firefox 85 開始 ,Firefox 的沙箱阻擋了對 VA-API 的存取 [9]
    • media.navigator.mediadatadecoder_vpx_enabled 設定為 true 來讓 WebRTC 使用 VA-API 硬體解碼 [10]
    • 如果你的網頁會當掉,可以試著當 media.rdd-vpx.enabled 設為 false 時把 security.sandbox.content.level 設為 0 [11]
  4. 使用以下 environment variable 來執行 Firefox:
    • MOZ_DISABLE_RDD_SANDBOX=1 來禁用遠端資料解碼器(remote data decoder)沙箱,詳情請看 [12]
    • 在使用 Wayland 的情況下, 使用 MOZ_ENABLE_WAYLAND=1,詳情請看 #Wayland.
    • 在使用 X.org 的情況下,使用 MOZ_X11_EGL=1 或在 about:config 中設定 gfx.x11-egl.force-enabledtruegfx.x11-egl.force-disabledfalse
提示:
  • 你可以透過 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 [13][14],Firefox 的硬體加速需要 DMA-BUF [15]。 如果驅動程式有支援 DMA-BUF,那還需要 libva-vdpau-driver,因為 Firefox 原生並不支援 VDPAU
  •  目前 Firefox 的 VAAPI 可以解碼 H.264/AVC、VP8 和 VP9 格式的影片,AV1 格式將在未來加入 [16]
  • 在擁有多個顯示卡的系統中,根據 這個已解決問題 應該會自動為 VA-API 選擇合適的顯示卡。
  • 有些影片(例如 YouTube VR) 可能會因為 media.ffvpx.enabled 設定為 false 而顯示黑畫面 [17]
  • 因為還有一些關於沙箱的問題,所以這個功能預設並不是開啟的。
    •  較舊版本的 Firefox 有時候可能需要將 security.sandbox.content.level 設定為 0 (關閉沙箱保護) 才可以在 intel iHD driver intel-media-driver 使用 VA-API [18]。幸運的是,這個問題已經被解決了[19]
      •  Firefox 88 後 Intel iHD intel-media-driver 和 i965 libva-intel-driver 驅動程式都能正常使用 VA-API,換句話說,你不必在斟酌哪一個才是正確的驅動程式了。
    •  但是,遠端資料解碼器(remote data decoder)的問題還是存在,正確來說,因為 Intel 和 AMD 顯示卡的沙箱問題,VP8/VP9 解碼會有問題。解決方法就如同上述所說,將 media.rdd-vpx.enabled 設定為 false 就可以了。
    •  未來,VA-API 應該要在沙箱中執行,因為禁用沙箱是不理想的,而且這個功能在還不能於沙箱中執行的情況下,預設是不開啟的 [20]
  •  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 設定為 true
    •  使用 GTK_USE_PORTAL=1 執行 Firefox environment variable
  • 為了和 KDE MIME 型式系統、代理伺服器、文件選擇對話框整合,你可以使用從 AUR 安裝經過 OpenSUSE 改造的 firefox-kde-opensuseAUR,或者,你可以建立一個從已廢棄 ~/.local/share/applications/mimeapps.list 到 MIME 資料庫 ~/.config/mimeapps.list 的符號連結來達成與 MIME 型式系統的整合。
  •  擴充套件 / 附加元件可能也會提供額外的整合,像是:

小提示與小技巧

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

暗色主題

如果你正在使用 GTK 的暗色主題(例如:Arc Dark),推薦你使用亮色主題的 Firefox,詳情請看 GTK#ThemesFirefox/Tweaks#Unreadable input fields with dark GTK themes

或者,自從 Firefox 68 開始,不管你的主題是否是暗色主題,你都可以讓 Firefox 的所有界面甚至是網頁開啟暗色主題,你可以藉由在 about:configbrowser.in-content.dark-mode 設為 true 和將 ui.systemUsesDarkTheme 設為 1 [21]

畫面更新率

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

限制記憶體使用量

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

新分頁位置

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

網頁截圖

你可以在網址列點擊 頁面動作 (三個水平排列的點)或在網頁按右鍵,並選擇 拍攝畫面截圖 來截圖網頁,詳情請看 [23]

你也可以使用 開發人員工具 的截圖按鈕來截圖。

Wayland

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

$ MOZ_ENABLE_WAYLAND=1 firefox

為了能讓它永久啟用,你可以查看 Environment variables#Graphical environment,並正常從啟動器啟動它。你可以藉由 Window Protocol 來驗證是否有開啟成功,在網址列輸入 about:support 並檢查 Window Protocolwayland 而不是 x11xwayland

在原生 Wayland 的 Firefox 可以在 about:configgfx.webrender.compositor.force-enabled 設為 true 來讓渲染效能有顯著地提升。 在 Firefox 89,這個功能是實驗性的,建議在 Firefox Nightly 測試。

Firefox 允許使用內部合成器來渲染,這麼做可以有比較好的渲染效能、延長電池使用時間 [24]。 請確保 Firefox/Tweaks#Enable WebRender compositor 已經開啟並正常工作。 GNOME 40.1/3.38.5 和 KDE 5.22 以後的版本被認為是可測試的合成器 [25]

視窗管理員規則

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

使用者設定檔

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

$ firefox [--new-instance] -P

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

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

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

environment variable MOZ_USE_XINPUT2=1 開啟 Firefox 來啟用觸控手勢(例如捲動或兩指放大)與一對一觸控板捲動。

多個首頁

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

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

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

疑難排解

安全模式

在命令行使用參數 --safe-mode 來用 安全模式 開啟 Firefox,安全模式將會停用附加元件、主題和一些功能。

停用硬體加速

使用 安全模式 或在 about:config 中將 layers.acceleration.disabled 設為 true 來強制停用硬體加速。

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

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

Firefox 啟動時間過長

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

疑難排解字型

查看 Font configuration

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

針對 emoji,Firefox 使用 Twemoji Mozilla 字型,你可以在 about:configfont.name-list.emoji 設為 emoji 來使用系統的 emoji 字型。

Firefox 在 Emoji 的顯示會有問題,將 gfx.font_rendering.fontconfig.max_generic_substitutions 設為 0 來解決問題。

設定 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 來更改至其他資料夾

防止插件彈出視窗

某些插件可能會忽略禁止彈出視窗的設定(像是 Flash 插件),你可以根據以下步驟防止這件事:

  1. 在網址列輸入 about:config
  2. 在網頁按右鍵並選擇 新增 > 數值
  3. 將它命名為 privacy.popups.disable_from_plugins
  4. 設定值為 2.

以下是可設定的值:

  • 0: 允許所有來自插件的彈出視窗。
  • 1: 允許彈出視窗,但受 dom.popup_maximum 限制最多數量。
  • 2: 禁止來自插件的彈出視窗。
  • 3: 禁止來自插件的彈出視窗,包括白名單。

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

Firefox 偵測到錯誤的外掛程式版本

當你關閉 Firefox 時,將會在你的使用者設定檔資料夾(通常位於 ~/.mozilla/firefox/xxxxxxxx.default/ )的 pluginreg.dat 中記錄目前的時間戳記和外掛程式的版本。

如果你在 Firefox 還在運行的時候更新你的外掛程式,此檔案將會記錄到錯誤的資訊,下一次你打開 Firefox 並瀏覽與該外掛程式相關的網頁,你會得到 Firefox has prevented the outdated plugin "XXXX" from running on ... 的訊息。 這個問題常發生於 Firefox 還在運行時,Adobe Flash Player 外掛程式 已經被更新了。

解決方法只要將位於使用者設定檔資料夾的 pluginreg.dat 移除,Firefox 不會跳出遺失檔案的相關訊息,檔案會在下一次關閉 Firefox 時重新創建。[26]

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 平臺的相關問題: [27][28][29]

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

某些 MathML 符號無法顯示

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

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

在全螢幕模式下螢幕撕裂

如果你在使用 Xorg Intel 或 Nouveau 驅動程式時在全螢幕模式下有螢幕撕裂的情況發生,試試 Firefox/Tweaks#Enable Legacy OpenGL compositor

在滾動頁面時螢幕撕裂

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

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 預設使用國際帳號,你可以安裝 這個網頁上 的附加组件管理器來讓你登入你的中國帳號。

No audio on certain videos when using JACK and PulseAudio

If you are using JACK in combination with PulseAudio and cannot hear any sound on some videos it could be because those videos have mono audio. This happens if your JACK setup uses more than just stereo, but you use normal headphones. To fix this you simply have to connect the front-center port from the PulseAudio JACK Sink to both playback_1 and playback_2 ports of the system output.

You can also do this automatically using a script:

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"

Keep in mind that the names for the sink and the ports might be different for you. You can check what your JACK setup looks like with a Patchbay like Catia from cadence.

Geolocation does not work

Recently, Google limited the use of its location service with Arch Linux, which causes the following error when geolocation is enabled on a website: Geolocation error: Unknown error acquiring position. Region-locked services such as Hulu may display a similar error indicating that your location could not be determined even though you have allowed location services for the site.

To avoid these problems, you can switch to use the Mozilla Location Service. In about:config change the geo.provider.network.url setting to:

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

See FS#65241 for more details.

Right mouse button instantly clicks the first option in window managers

This problem has been observed in i3, bspwm and xmonad.

To fix it, navigate to about:config and change ui.context_menus.after_mouseup to true.

See [32]

Applications on Wayland can not launch Firefox

Some applications running in XWayland mode try to launch the X11 edition of Firefox. If the browser already runs in Wayland native mode, the user will receive the error Firefox is already running, but is not responding. To use Firefox, you must first close the existing Firefox process, restart your device, or use a different profile. while Firefox itself is fully operational.

This can be worked around by setting the environment variable MOZ_DBUS_REMOTE=1.

Note: It is not sufficient to only set this variable in the .desktop file for Firefox, as it must be set for either the whole session or all XWayland applications. Consider additionally setting #Wayland globally. [33]

Firefox window does not repaint after disabling or enabling compositing

Unset the environment variable MOZ_X11_EGL.

Related bug report: Bugzilla 1711039.

Firefox continuously asks to be set as default browser upon launch

There are a couple things you can try: if you are using a desktop environment, check if Firefox is set as the default browser in your system settings. If it is not, then set it, otherwise you can run the following xdg-settings(1) command, provided by the xdg-utils package, to query which browser is set as default on your system:

$ xdg-settings get default-web-browser

If no value is returned or it is not Firefox, then run this command to set it:

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

If Firefox still asks to be set as the default browser, then it may be quieted if it is set to handle http and https URL schemes. To do so, run these xdg-mime(1) commands:

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

If those do not work either, check if you have set the environment variable GTK_USE_PORTAL (all values trigger the bug), in which case, unset it. Related bug report: Bugzilla 1516290. If that does not work or you did not set it, navigate Firefox to about:config, check if the variable widget.use-xdg-desktop-portal is set to true and, if so, set it to false.

Video stuttering

If you experience video stuttering and you notice that Firefox is only hitting one core at 100% when watching videos (especially higher resolution videos), this might help you.

Go into about:config and search for dom.ipc.processCount and change dom.ipc.processCount.file from 1 to a higher number. An ad hoc method to find a good number is to increase it one at a time until you get good results, but 4 seems to be a good value.

See also