跳转至内容

Firefox

来自 ArchWiki

FirefoxMozilla 出品的流行开源图形网络浏览器。

安装

安装 firefox 包。

其他替代方案包括

  • Firefox Beta — 前沿版本
https://www.mozilla.org/firefox/channel/desktop/#beta || firefox-beta-binAUR
  • 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 KDE — 包含一个 OpenSUSE 补丁,以获得比简单的 Firefox 附加组件更好的 KDE 集成
https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox || firefox-kde-opensuseAUR
https://www.mozilla.org/firefox/channel/desktop/#nightly || firefox-nightlyAUR

Firefox 除了标准的英语外,还提供多种语言包。语言包通常命名为 firefox-i18n-languagecode(其中 languagecode 可以是任何语言代码,例如 dejafr 等)。有关可用语言包列表,请参阅 firefox-i18n(适用于 firefox)、firefox-developer-edition-i18n(适用于 firefox-developer-edition)以及 firefox-nightly-(适用于 firefox-nightlyAUR)。

注意 由于频繁的字符串更改可能导致崩溃,语言包在 -nightly-developer-edition 版本中已被禁用。要强制更改 UI 语言,您可能需要在 about:config 中设置 intl.locale.requested [1]。要显示设置页面中的语言设置,请在 about:config 中将 intl.multilingual.enabled 设置为 true

附加组件

Firefox 以其庞大的附加组件库而闻名,可用于添加新功能或修改现有功能的行为。Firefox 的“附加组件管理器”用于管理已安装的附加组件或查找新的附加组件。

有关如何安装附加组件以及附加组件列表的说明,请参阅 浏览器扩展

添加搜索引擎

可以通过创建书签将搜索引擎添加到 Firefox

  • 按地址栏上的星号图标或 Ctrl+d
  • 右键单击您创建的书签,然后按 编辑书签...
  • URL 字段中填写搜索 URL。将查询位置替换为 %s。在 关键字 字段中填写用户定义的字符。如下所示
URL:
https://duckduckgo.com/html/?q=%s
Keyword:
d
注意 旧版本使用“位置”而不是“URL”。

通过在搜索词前面加上指定搜索引擎的关键字来执行搜索:d archwiki 将使用搜索词 archwiki 查询 DuckDuckGo

也可以通过附加组件扩展将搜索引擎添加到 Firefox;有关可用搜索工具和引擎列表,请参阅 此页面

可以在 Mycroft Project 找到非常广泛的搜索引擎列表。

安装 firefox-extension-arch-searchAUR 包,可将 Arch 特定的搜索(AUR、wiki、论坛、软件包等)添加到 Firefox 搜索工具栏。

配置

Firefox 提供了许多配置选项。要查看它们,请在 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 的其余首选项。

提示 有关如何正确设置 about:config 中选项的完整指南,请参阅 Firefox 的配置编辑器

设置存储

Firefox 通过配置文件文件夹中的 prefs.js 存储配置,通常是 ~/.mozilla/firefox/xxxxxxxx.default/

Firefox 还允许通过配置文件文件夹中的 user.js 文件进行配置文件配置:user.jsuser.js 配置将覆盖 prefs.jsuser.js 配置仅在配置文件启动时解析。因此,您可以测试通过 about:config 所做的更改,并相应地实时修改 user.js。有关有用的起点,请参阅例如 custom 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(此文件存储实际配置)

//
//...your settings...
// e.g to disable Pocket, uncomment the following lines
// 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/[死链 2025-11-16—SSL 错误] 测试音频,以确定实际支持的格式。

Firefox 使用 PulseAudio 进行音频播放和捕获。如果未安装 PulseAudio,Firefox 则使用 ALSA。请注意,默认情况下,Firefox 会阻止所有带声音的媒体自动播放 [2]

提示 如果音频未配置,Firefox 可能无法播放视频。如果您打算使用 PipeWireWirePlumber,请确保它们正常工作并具有必要的 pipewire-pulse 兼容层。

HTML5 DRM/Widevine

Widevine 是 Netflix、Amazon Prime Video 等用于保护其视频内容的一种数字版权管理工具。可以在 设置 > 通用 > 数字版权管理 (DRM) 内容 中启用它。如果您在禁用此设置时访问 Widevine 启用的页面,Firefox 将在地址栏下方显示一个提示,请求安装 DRM 的许可。批准后,等待“正在下载”栏消失;现在,您就可以观看 Widevine 保护网站的视频了。

由于未使用 硬件 DRM 播放,Firefox 只能以 720p 视频(或更低)播放 Widevine。还要求禁用隐私模式浏览,对于窗口和设置都是如此。

"Open With" 扩展

  1. 安装 Open With 附加组件。
  2. 转到 附加组件 > Open With > 首选项
  3. 按照说明在您的系统上安装文件并测试安装。
  4. 点击 添加浏览器
  5. 在对话框中,为此菜单项输入一个名称,并输入启动支持视频流的播放器的命令(例如 /usr/bin/mpv)。
    1. 可选地,向播放器添加所需的参数(例如,您可能想要为 mpv 添加 --force-window --ytdl)。
  6. 右键单击链接或访问包含视频的页面。从“Open With”菜单中选择新创建的条目,如果网站受支持,播放器将按预期打开。

同样的过程也可以用于关联视频下载器,例如 youtube-dl

硬件视频加速

Wayland [3]Xorg [4] [5] 上,通过 VA-API 的 硬件视频加速 可用。

要在 Firefox 中启用 VA-API

  1. 确保您的显卡已根据 硬件视频加速 中的描述正确配置了 VA-API。
  2. 确保 WebRender 已启用,方法是导航到 about:support 并确认 Compositing(合成)值为“WebRender”。它在 GNOME 和其他桌面环境中默认启用 [6]
    • 确保您没有运行“Software WebRender”,因为它自 2021 年 8 月起将不再有效 [7]
    • 如有必要,可以通过在 about:config 中将 gfx.webrender.all 设置为 true 来强制启用硬件 WebRender。
  3. 自 Firefox 115 起,VA-API 对 Intel GPU 默认启用 [8],自 Firefox 136 起对 AMD GPU 默认启用 [9]。对于其他 GPU,请在 about:config 中将 media.hardware-video-decoding.force-enabled 设置为 true
  4. 可选地,为了在多 GPU 系统(例如带有 IGP 和 GPU 的 Ryzen 7000 系列)上节省电力和/或利用 IGP/GPU 支持的更多视频编解码器:使用环境变量 MOZ_DRM_DEVICE 运行 Firefox,该变量设置为首选渲染设备。(可用设备可以通过 stat /dev/dri/* 列出)。
  • 如果在 about:support 中,硬件视频加速被错误代码 FEATURE_HARDWARE_VIDEO_DECODING_DISABLEFEATURE_FAILURE_VIDEO_DECODING_TEST_FAILED 阻止,您可以通过 media.hardware-video-decoding.force-enabled=true 来覆盖它。有关更多信息,请参阅 [10]。或者,您可以安装 firefox-vaapiAUR
  • 虽然 NVIDIA 的专有驱动程序不支持 VA-API,但较新版本支持 DMA-BUF。使用 libva-nvidia-driver 将允许使用 CUDA 在 NVIDIA 上进行硬件视频解码。有关所需环境变量和 about:config 更改的文档,请参阅 GitHub 项目
  • 对于 NVIDIA 用户,除了配置更改外,Firefox 需要使用环境变量 MOZ_DISABLE_RDD_SANDBOX 设置为 1 运行 nvidia-vaapi-driver github
  • 目前,Firefox 的 VA-API 实现可以解码 H.264/AVC、H.265/HEVC、VP8 和 VP9、AV1 编码的视频。AV1 支持需要 Firefox 98+ [11]。H.265/HEVC 支持需要 Firefox 137+ [12]
  • 根据这个 已解决的问题,多 GPU 系统应自动选择合适的 GPU 进行 VA-API。
  • linux-hardened 下的 AMDGPU 用户可能需要使用 CONFIG_CHECKPOINT_RESTORE=y 重新构建 linux-hardened,因为 mesa 需要 kcmp 系统调用。由于 bug 已解决,这可能不再需要。
  • Wayland 有时会干扰硬件视频解码。如果您在全屏时视频短暂闪烁,您可能需要在 about:config 中设置 widget.wayland.opaque-region.enabled=false
  • 如果您正在使用 nvidia-opennvidia-open-dkmsnvidia-smi 可能会显示 Firefox 使用的 VRAM 为 0MB。这是正常的,可以忽略。

可以通过检查 Firefox 的 VA-API 日志来验证 VA-API 的使用。使用环境变量 MOZ_LOG="FFmpegVideo:5" 运行 Firefox,并在日志输出中检查 VA-API 是否已启用并正在使用(搜索“VA-API”字符串),例如在播放视频时。请注意这些日志,因为它们可能表明两个可能的合成器(WebRender 或 OpenGL)中只有一个在您的特定设置中与 VA-API 一起工作。

提示 要在 YouTube 中启用硬件解码,视频编解码器必须得到硬件支持。您可以使用 硬件视频加速#Verifying VA-API 检查您的 GPU 支持的配置文件,并且 YouTube 编解码器(如果 YouTube 提供!)有时可以通过 h264ifyenhanced-h264ifyrefined-h264ify 扩展来控制。

拼写检查

Firefox 可以使用系统范围内安装的 Hunspell 词典以及通过其自身扩展系统安装的词典。

要为特定语言启用拼写检查,请右键单击任何文本字段,然后选中 检查拼写 复选框。要选择一种语言进行拼写检查,您需要再次右键单击并从 语言 子菜单中选择您的语言。

如果默认语言选择不生效,请参阅 #Firefox 不记得默认的拼写检查语言

系统级 Hunspell 词典

安装 Hunspell 及其所需语言的词典。

作为扩展的词典

要获取更多语言,请右键单击任何文本字段,点击 添加词典...,然后从 词典和语言包列表中选择要安装的词典。

提示 对于俄语,该扩展打包为 firefox-spell-ru

XDG Desktop Portal 集成

从版本 64 开始,Firefox 可选使用 XDG Desktop Portals 来处理各种桌面功能,例如打开文件选择器或处理 MIME 类型。使用 Desktop Portals 可以让您自定义当您选择要上传到网页的文件时,或使用 另存为... 选择下载位置时,调用哪个程序来显示对话框。有关可用后端选项的列表,请参阅 XDG Desktop Portal#List of backends and interfaces

Firefox 具有许多独立的设置,用于指定每个功能是应使用 Desktop Portal 请求处理,还是使用默认的 GTK 功能。

每个设置可以具有以下值

  • 0 – 永不
  • 1 – 总是
  • 2 – 自动(通常取决于 Firefox 是从 Flatpak 运行,还是设置了 GDK_DEBUG=portals 环境变量)

这些设置是

  • widget.use-xdg-desktop-portal.file-picker – 是否使用 XDG portal 进行文件选择
  • widget.use-xdg-desktop-portal.mime-handler – 是否使用 XDG portal 进行 MIME 处理
  • widget.use-xdg-desktop-portal.settings – 是否尝试使用 XDG portal 来获取设置/外观信息
  • widget.use-xdg-desktop-portal.location – 是否使用 XDG portal 进行地理定位
  • widget.use-xdg-desktop-portal.open-uri – 是否使用 XDG portal 打开文件

KDE 集成

提示 为防止在媒体播放器小部件或托盘图标中出现重复条目,请将 media.hardwaremediakeys.enabled 设置为 false。这将禁用 Firefox 的媒体条目,只使用 Plasma 集成附加组件的条目。

GNOME 集成

为了使用 GNOME 文件选择器,您需要安装 xdg-desktop-portal-gnome,并在 about:config 中将 widget.use-xdg-desktop-portal.file-picker2 更改为 1

朗读(文本转语音)

Firefox 可以对网页执行文本转语音合成。

设置

必须为“朗读”图标在阅读视图中出现设置 TTS。Firefox 使用 Speech dispatcher,这需要一个语音合成引擎。当前推荐的语音合成引擎是 Festival

用法

请参阅 Mozilla 网站上 图文并茂的步骤

仅当您完成了上述所有配置,Speech Dispatcher 正常工作,并且在启动 Festival 服务器后启动了 Firefox 时,“朗读”图标(耳机图标)才会出现(您不能在启动 Festival 之前启动 Firefox)。

此外,有时 Festival 服务器进程在您尝试终止后仍会存在,但在关闭 Firefox 后才会终止。

常见问题请参阅 #Web Speech API 没有语音#阅读模式下缺少“朗读/收听”图标

使用 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#Skip file from being upgraded

技巧与提示

有关通用增强功能,请参阅 Firefox/Tweaks,有关隐私相关增强功能,请参阅 Firefox/Privacy

暗色主题

Firefox 应该会遵循您的 GTK 主题设置以及您的系统级暗模式设置(如 GNOME 或 KDE 系统设置的“外观”部分)。如果后者不起作用,请确保安装了合适的 xdg-desktop-portal 包。

从 Firefox 68 开始,您可以让所有 Firefox 界面甚至其他网站都遵循暗色主题,而无需考虑系统 GTK 主题和 Firefox 主题。要做到这一点,请在 about:config 中将 ui.systemUsesDarkTheme 设置为 1 [13]

从 Firefox 100 开始,可以通过 layout.css.prefers-color-scheme.content-override 对选择加入的网页(使用 CSS 媒体查询 prefers-color-scheme)和 Firefox 自带的内嵌页面进行更精细地控制暗色主题。将其设置为 3 将遵循浏览器主题,设置为 2 将遵循系统范围的暗模式偏好设置(如上文的 ui.systemUsesDarkTheme,如果用户未更改暗模式偏好设置或系统不支持系统范围的暗模式偏好设置,则默认为 0),而 10 将分别始终强制浅色模式和暗色模式。此设置也可以通过 Firefox 的用户设置中的“常规”>“语言和外观”>“网站外观”来访问。

帧率

如果 Firefox 无法自动检测到正确的值,它将默认为 60 fps。要手动更正此问题,请将 layout.frame_rate 设置为显示器的刷新率(例如,144 Hz 则设置为 144)。

内存限制

为防止页面滥用内存(可能导致OOM),我们可以使用带有 rlimit-as 选项的 Firejail

新标签页位置

要控制新标签页出现的位置(相对或绝对),请使用 browser.tabs.insertAfterCurrentbrowser.tabs.insertRelatedAfterCurrent。有关更多信息,请参阅 [14]

网页截图

您可以通过以下方式截取屏幕截图:将屏幕截图按钮添加到工具栏(从汉堡菜单的更多工具 > 自定义工具栏中选择),按下 Ctrl+Shift+s,或右键单击网页。有关更多信息,包括遥测数据收集,请参阅 Firefox screenshots

您还可以使用开发者工具中的屏幕截图按钮,该按钮可以通过开发者工具的设置菜单下的可用工具栏按钮部分进行添加。开发者工具的设置可以通过开发者工具窗格右上角的三个水平点访问。

Xwayland

从版本 121 开始,Firefox 默认使用 Wayland 而不是 XWayland,并且不需要任何配置。

您可以通过环境变量强制启用Xwayland模式。

$ MOZ_ENABLE_WAYLAND=0 firefox

要使此设置永久生效,请参阅 Environment variables#Graphical environment,然后像往常一样通过桌面启动器启动 Firefox。

要验证是否成功,请在 about:support 中查找窗口协议x11 的存在表示您正在 Xorg 显示服务器下运行 Firefox,而 xwayland 表示您的系统正在运行 Wayland 但将 Firefox 作为旧版 X11 应用程序执行。

窗口管理器规则

您可以使用命令行选项更改窗口管理器如何对 Firefox 窗口进行分组。

Xorg

Xorg 下,窗口按其 WM_CLASS 字符串进行分组。使用 Firefox 的 --class 选项设置自定义值,然后将桌面条目中的 StartupWMClass 字段更新为相同的值。

~/.local/share/applications/firefox.desktop
[Desktop Entry]
Exec=/usr/lib/firefox/firefox --class=class-name %u
StartupWMClass=class-name
# other fields omitted"

Wayland

Wayland 下,窗口按其 resourceClass 属性进行分组。要设置自定义值,请改用 Firefox 的 --name 选项;WM_CLASS 似乎无效。

在某些桌面环境(例如 KDE;其他未经测试)上,如果您将 Firefox 固定到任务管理器,您还需要确保桌面条目具有与您的自定义 resourceClass 值相同的基本文件名。这样,启动的 Firefox 实例就会与固定条目一起分组。

~/.local/share/applications/class-name.desktop
[Desktop Entry]
Exec=/usr/lib/firefox/firefox --name=class-name %u
# other fields omitted"

配置文件

要启动新的 Firefox 实例,需要多个配置文件。要创建新配置文件

$ firefox [--new-instance] -P

您可以将配置文件与 #Window manager rules 一起使用,以单独分组每个配置文件的窗口。

可以使用 Firefox Profilemaker 创建一个具有您喜欢的默认设置的 Firefox 配置文件。

触摸屏手势和像素级精确的触控板滚动

请参阅 Firefox/Tweaks#Pixel-perfect trackpad scrollingFirefox/Tweaks#Enable touchscreen gesturesFirefox/Tweaks#Smooth scrolling

多个主页

要在启动 Firefox 时打开多个标签页,请打开一个新窗口,然后打开您想作为“主页标签页”的网站。

现在转到设置 > 主页,然后在主页和新窗口下单击使用当前页面按钮。

或者,直接转到设置 > 主页,然后在主页和新窗口下将第一个字段设置为自定义 URL..,并以以下格式输入您想要作为新主页的页面。

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

在 PDF 查看器中并排查看两个页面

要与集成的 PDF 查看器一次显示两个页面,请在 about:config 中将 pdfjs.spreadModeOnLoad 设置为 1

Kiosk 模式

Firefox 支持 Kiosk 模式,该模式以全屏方式显示页面,不包含浏览器边框、上下文菜单和其他对于典型桌面浏览有用的功能。这些可以在自动取款机或信息面板上看到,用户通常不期望与系统的其余部分进行交互。

要使用 Kiosk 模式,请启动 Firefox:

$ firefox --kiosk url

启动页面可以在设置中配置,也可以作为命令行参数提供。

如果您需要打印,可以防止 Firefox 显示纸张大小配置对话框,方法是:

$ firefox --kiosk --kiosk-printing url

紧凑模式

从 Firefox 版本 89 开始,紧凑模式的密度选项已从“自定义”面板中移除 [15],但您仍然可以使用紧凑密度。要做到这一点,请在 about:config 中将 browser.uidensity 设置为 1

UI 还可以进一步缩小,请参阅 Firefox/Tweaks#Configure the DPI value,但请使用 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 report 1426907 包含更多信息。

禁用用于关闭 Firefox 的 Ctrl+q 快捷键

创建并设置 about:config 中的选项 browser.quitShortcut.disabledtrue

启用混合后量子密钥交换

Firefox 支持 X25519Kyber768,这是一种用于 TLS 1.3 的混合后量子密钥交换。自 Firefox 132.0 起,它已默认启用。要测试其是否正常工作,您可以访问 此 Cloudflare Research 测试页面,它将告诉您是否使用了 PQ 安全密钥交换。

禁用光标闪烁

默认情况下,Firefox 会启用光标闪烁。要停止光标闪烁,请在 about:config 中将 ui.caretBlinkTime 设置为 0 [16]

与 Chromium 共享 NSS DB

默认情况下,Chromium 读取 ~/.pki/nssdb 中的 NSS 共享数据库。Firefox 将 NSS DB 放在配置文件目录中,即 cert9.dbkey4.db

要使 Firefox 使用 NSS 共享数据库,请添加 libnsssysinit.somoduleDBOnly,,并更改 configdir= [17]。例如,下方**粗体**字表示更改。如果周围的选项与以下示例不同,请保持不变。

~/.mozilla/YOUR_PROFILE_DIRECTORY/pkcs11.txt
library=libnsssysinit.so
name=NSS Internal PKCS #11 Module
parameters=configdir='sql:/home/YOUR_USER/.pki/nssdb' certPrefix='' keyPrefix='' secmod='secmod.db' flags= updatedir='' updateCertPrefix='' updateKeyPrefix='' updateid='' updateTokenDescription=''
NSS=Flags=moduleDBOnly,internal,critical trustOrder=75 cipherOrder=100 slotParams=(1={slotFlags=[ECC,RSA,DSA,DH,RC2,RC4,DES,RANDOM,SHA1,MD5,MD2,SSL,TLS,AES,Camellia,SEED,SHA256,SHA512] askpw=any timeout=30})

如果您在 Firefox 配置文件目录中有自定义证书,您可能希望将其复制到 ~/.pki/nssdb

故障排除

疑难解答模式

命令行开关 -safe-mode 会以疑难解答模式启动 Firefox,该模式会禁用本会话的扩展、主题、硬件加速、JIT 和其他一些功能。

也可以通过在 Firefox 打开时点击汉堡菜单,选择帮助,然后选择疑难解答模式,并在出现的模态对话框中确认来启用此模式。请注意,这需要重启浏览器。

此模式在 Firefox 88 之前曾被称为安全模式。

Firefox 刷新

用户在 Firefox 中遇到的一些问题可能是由配置文件问题(如损坏)引起的。

如果您已排除其他原因,为了测试目的,尝试一个新 Firefox 配置文件以查看这是否能解决您的问题可能值得。有关如何创建新配置文件和切换配置文件之间更多信息,请参阅 Firefox 支持页面

如果这解决了您的问题,您应该切换回您的原始配置文件并考虑刷新您的 Firefox。

刷新您的配置文件将保留所有浏览和下载历史记录、书签、网页表单自动填充数据、cookie、个人词典和密码,并将它们传输到一个全新的配置文件中,其中不包含扩展、主题、扩展数据和偏好设置等其他数据。旧配置文件的备份也将被保留。

要刷新您的配置文件,请导航到 about:support,点击刷新 Firefox 并在出现的模态对话框中确认。也可以通过点击汉堡菜单,选择帮助,然后点击更多疑难解答信息来访问 about:support

有关刷新 Firefox 的更多信息,包括传输到新配置文件的内容详情,请参阅 Firefox 支持页面

硬件视频加速问题

如果您在 Firefox 中遇到硬件视频加速问题,例如冻结或图形损坏,请为测试目的以疑难解答模式启动 Firefox,以确认这是问题所在。如果此步骤解决了问题,只需在 about:config 中将 media.ffmpeg.vaapi.enabled 设置为 false 以禁用硬件视频加速,然后重启 Firefox。

扩展 X 在某些 Mozilla 拥有的域上不起作用

默认情况下,扩展程序不会影响由 extensions.webextensions.restrictedDomains 指定的页面。如果不需要此设置,可以清除此字段(about:* 等特殊页面不受影响)。然后创建并设置 privacy.resistFingerprinting.block_mozAddonManager 为 true。

Firefox 启动非常缓慢

如果 Firefox 启动比其他浏览器慢很多,可能是因为 /etc/hosts 中缺少 localhost 的配置。有关如何设置,请参阅 Network configuration#Local network hostname resolution

行为异常的 Firefox 扩展或过多的扩展可能是导致启动缓慢的另一个原因。这可以通过使用 疑难解答模式来确认,该模式将在重启时禁用扩展。

启动缓慢的另一个原因可能是配置文件问题,例如损坏。有关您 Firefox 配置文件的更多疑难解答步骤,请参阅 #Firefox refresh

字体故障排除

请参阅 Font configuration

Firefox 有一个决定允许从 Fontconfig 进行多少替换的设置。要允许它使用您所有的替换规则,请将 gfx.font_rendering.fontconfig.max_generic_substitutions 更改为 127(最高可能值)。

Firefox 附带 Twemoji Mozilla 字体。要使用系统表情符号字体,请在 about:config 中将 font.name-list.emoji 设置为 emoji。此外,为防止 Mozilla 字体干扰您的系统表情符号字体,请将 gfx.font_rendering.opentype_svg.enabled 更改为 false 或删除 /usr/lib/firefox/fonts/TwemojiMozilla.ttf(另请参阅 pacman#Skip files from being installed to system)。

设置电子邮件客户端

在浏览器内部,mailto 链接默认由 Gmail 或 Yahoo Mail 等 Web 应用程序打开。要设置外部电子邮件程序,请转到设置 > 常规 > 应用程序,然后修改与 mailto 内容类型对应的操作;将需要指定文件路径(例如 Kmail 为 /usr/bin/kmail)。

在浏览器外部,mailto 链接由 x-scheme-handler/mailto MIME 类型处理,可以使用 xdg-mime 轻松配置。有关详细信息和替代方案,请参阅 Default applications

文件关联

请参阅 Default applications

Firefox 即使在不需要时也会持续创建 ~/Desktop

Firefox 将 ~/Desktop 用作下载和上传文件的默认位置。要将其更改为其他文件夹,请按照 XDG user directories 中的说明设置 XDG_DESKTOP_DIR 选项。

我的下载目录里充满了我不记得保存的文件

在 Firefox 版本 98 中,在外部程序中打开文件的行为被悄悄更改了。与其将它们下载到 /tmp 并将文件位置提供给子进程,不如 Firefox 现在像您选择保存文件一样下载文件,然后将文件的位置提供给子进程,该位置在您的下载目录中。结果是,您下载的文件将充斥着您只打算查看的文件。当您在对话框中选择一个程序来打开文件,或者对于您已配置为自动在特定程序中打开的文件类型,都会发生这种情况。特别是,对于一些在 Firefox 内部打开的文件类型(例如,如果启用了浏览器内的PDF.js查看器),也会发生这种情况。

由于疏忽,提示您如何处理文件的对话框仍然描述旧的选择(打开保存),而实际上它总是会保存文件。由于这种行为实际上可能对某些用户构成安全和隐私风险(他们期望文件不会保存到磁盘),您可能需要禁用新行为。

要做到这一点,请在 about:config 中创建并设置 browser.download.start_downloads_in_tmp_dirtrue

或者,要防止 Firefox 在使用浏览器内查看器打开 PDF 时自动将其保存到下载目录,请在 about:config 中将 browser.download.open_pdf_attachments_inline 设置为 true

注意 虽然选项的名称听起来好像它只会在下载时将文件缓存到 /tmp 然后将它们移到其他地方,但 Mozilla 已确认这实际上恢复了旧的行为。
现在有一个企业策略(StartDownloadsInTempDirectory)和一个 about:config 首选项(browser.download.start_downloads_in_tmp_dir),它们将使 Firefox 再次将下载文件最初放置在操作系统临时文件夹(的子文件夹)中,而不是 Firefox 中配置的下载文件夹。从“Firefox 应该如何处理此文件”对话框打开的文件,或设置为自动在辅助应用程序中打开的文件,将保留在此文件夹中。已保存的文件(如上所述未打开的文件)仍会进入 Firefox 下载文件夹。

其他设置考虑

  • browser.download.forbid_open_with: true(仅在文件保存对话框中询问是保存还是取消,从不询问用其他程序打开)
  • browser.download.always_ask_before_handling_new_types: true(与设置 > 常规 > 文件和应用程序 > Firefox 如何处理其他文件? > 询问是打开还是保存文件相同)。
  • 设置 > 常规 > 文件和应用程序中将所有已知文件类型设置为始终询问,但 Firefox 自己打开的类型除外。


查找并更改 Firefox 缓存存储位置

about:config 中创建 browser.cache.disk.parent_directory,并将其字符串值设置为所需位置,例如 /tmp//dev/shm/

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

about:config 中将 toolkit.legacyUserProfileCustomizations.stylesheets 设置为 true

中间点击行为

要启用中间点击自动滚动(Windows 浏览器中的默认行为),您可以通过以下两种方式启用此功能:

  • 转到设置 > 常规,找到浏览部分,然后启用使用自动滚动选项。
  • 或者,在 about:config 中将 general.autoScroll 设置为 true

要禁用在中键单击时粘贴剪贴板内容(PRIMARY selection),请在 about:config 中将 middlemouse.paste 设置为 false

要在点击鼠标中键时加载剪贴板内容作为 URL,请在 about:config 中将 middlemouse.contentLoadURL 设置为 true。这是 Firefox 57 之前的默认行为。

退格键不工作为“后退”按钮

根据 MozillaZineBackspace 键是根据浏览器运行的平台映射的。作为妥协,创建此首选项是为了允许 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 未运行时重命名或删除 cookie.sqlite

打开您选择的终端并输入以下命令:

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

配置文件 ID 是一个随机的 8 位字符串。

重启 Firefox,看看是否解决了问题。

如果无效,请检查是否存在 cookies.sqlite.bak 文件,您可以使用它手动恢复 cookie。

无法进入/退出全屏

如果 Firefox 检测到符合 EWMH/ICCCM 标准的窗口管理器,它会尝试向根窗口发送 WM_STATE 消息,以请求 Firefox 进入(或退出)全屏模式(由窗口管理器定义)。窗口管理器可以忽略它,但如果忽略,Firefox 将假定请求被拒绝并将其传播给最终用户,从而导致没有任何反应。这可能会导致视频无法全屏播放。一个通用的解决方法是在 about:config 中将 full-screen-api.ignore-widgets 设置为 true

相关 bug 报告: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 平台上的相关问题:[18][19][20]

相关 bug 报告:Bugzilla 776028Ubuntu bug 1026869

Firefox 找不到系统范围的 Hunspell 拼写检查词典

确保 spellchecker.dictionary_path 设置存在且指向系统 Hunspell 词典的路径:/usr/share/hunspell

缺少一些 MathML 符号

您需要一些数学字体,即 Latin Modern Math 和 STIX(请参阅此 MDN 页面:[21]),才能正确显示 MathML。

在 Arch Linux 中,这些字体由 texlive-fontsextra 提供,但默认情况下对 fontconfig 不可用。有关详细信息,请参阅 TeX Live#Making fonts available to Fontconfig。您也可以尝试其他 Math fonts。如果遇到此 bug [22],安装 otf-latinmodern-math 可能有帮助。

视频加载但无法播放

这可能是 PulseAudio 问题。请参阅 PulseAudio/Troubleshooting#Browsers (firefox) load videos but do no play 中的建议修复。

滚动时出现撕裂

尝试在设置 > 常规 > 浏览中禁用平滑滚动。请注意,页面将滚动不流畅。此外,在 about:config 中将 layout.frame_rate 设置为不同的值(例如 0 或 1)也可以提高滚动流畅度。

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 Firefox 页面中将 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 的 bug 报告

Google Meet

在使用 Google Meet 进行屏幕共享时,您可能会注意到画面不流畅且视频整体卡顿。可能的解决方法是将浏览器的用户代理更改为 Google Chrome。您可以使用 User agent switcher 扩展来完成此操作。

无法使用我的中文帐户登录

Firefox 为中国用户提供本地化服务,其本地账户与国际账户完全不同。安装了 firefox 软件包的 Firefox 默认使用国际账户系统。要切换到中国的本地服务,您需要在此页面上安装附加组件管理器[死链接 2025-11-16—域名未解析],然后您就可以使用您的中国账户登录了。

使用 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 和端口的名称可能因您而异。您可以使用像 Catia (来自 cadenceAUR) 这样的 Patchbay 来查看您的 JACK 设置。

地理定位不起作用

最近,Google 限制了其位置服务在 Arch Linux 上的使用,这会导致在网站上启用地理定位时出现以下错误:Geolocation error: Unknown error acquiring position。Hulu 等区域限制服务可能会显示类似的错误,表明您的位置无法确定,即使您已允许该网站使用位置服务。

有关更多详细信息,请参阅 FS#65241

一种解决方法是导航到 about:config 并将 geo.provider.network.url 设置更改为静态数据值,例如

data:application/json,{"location": {"lat": 41.8818, "lng": -87.6232}, "accuracy": 27000.0}

这样做将为地理定位服务提供静态坐标(在本例中为 41.8818, -87.6232)。应修改坐标以反映所需位置。这将允许 Hulu 等服务正常工作,但不会在位置信息更改时自动更新。

在窗口管理器中,鼠标右键会立即点击第一个选项

已在 i3bspwmxmonad 中观察到此问题。

要解决此问题,请导航到 about:config 并将 ui.context_menus.after_mouseup 设置为 true

请参阅 [23]

禁用或启用合成器后,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(所有值都会触发该错误),如果是,则取消设置。相关错误报告: Bugzilla 1516290。如果这不起作用或您未设置它,请导航到 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>

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

在阅读模式下缺少朗读/收听图标

启用语音合成

根据 https://mdn.org.cn/en-US/docs/Web/API/Web_Speech_API/Using_the_Web_Speech_API,必须启用语音合成(默认启用)。要启用,请在 about:config 中将 media.webspeech.synth.enabled 设置为 true

禁用指纹识别保护

根据 https://support.mozilla.org/en-US/kb/firefox-protection-against-fingerprinting,指纹识别保护会禁用 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

更新 DNIe 证书后,未从读卡器中读取

在卡(西班牙 DNIe)上更新证书后,Firefox 会继续使用之前的证书,允许登录但无法在任何服务上验证用户。您需要清除卡缓存。

$ pkcs15-tool --clear-cache

参见