Firefox

来自 ArchWiki

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
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-languagecode (其中 languagecode 可以是任何语言代码,例如 dejafr 等)。有关可用语言包的列表,请参阅 firefox-i18n,适用于 firefoxfirefox-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 项目中找到非常广泛的搜索引擎列表。

firefox-extension-arch-search

安装 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.js 也保存在配置文件文件夹中。user.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(这存储实际配置)

//
//...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/ 测试音频,以确定实际支持哪些格式。

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 只能使用 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 [3]Xorg [4] [5] 下可用。

要在 Firefox 中启用 VA-API

  1. 确保您的显卡已为 VA-API 正确配置,如 硬件视频加速 中所述。
  2. 通过导航到 about:support 并验证合成值为“WebRender”来确保 WebRender 已启用。它在 GNOME 和其他桌面环境中默认启用 [6]
    • 确保您没有运行“软件 WebRender”,因为截至 2021 年 8 月,它将无法工作 [7]
    • 如有必要,可以通过在 about:config 中将 gfx.webrender.all 设置为 true 来强制启用硬件 WebRender。
  3. 如果您使用的是 Firefox 115 或更高版本,则默认情况下为 Intel GPU 启用 VA-API [8]。对于其他 GPU,请在 about:config 中将 media.ffmpeg.vaapi.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 覆盖它。有关更多信息,请参阅 [9]。或者,您可以安装 firefox-vaapiAUR
  • 虽然 NVIDIA 的专有驱动程序不支持 VA-API,但较新版本支持 DMA-BUF。使用 libva-nvidia-driver 将允许在 NVIDIA 上使用 CUDA 进行硬件视频解码。有关必要的环境变量和 about:config 更改的文档,请参阅 GitHub 项目
  • 目前,Firefox 的 VA-API 实现可以解码 H.264/AVC、VP8 和 VP9、AV1 编码的视频。AV1 支持需要 Firefox 98+ [10]
  • 根据此 已解决的问题,多 GPU 系统应自动选择合适的 GPU 用于 VA-API。
  • AMDGPUlinux-hardened 下的用户可能需要使用 CONFIG_CHECKPOINT_RESTORE=y 重建 linux-hardened,原因是 mesa 需要 kcmp 系统调用。由于此 错误已解决,这可能不再必要。
  • Wayland 有时会干扰硬件视频解码。如果在您进入全屏时视频短暂闪烁,您可能需要在 about:config 中设置 widget.wayland.opaque-region.enabled=false
  • 如果您使用的是 nvidia-opennvidia-open-dkms,则 nvidia-smi 可能会显示 firefox 的 VRAM 使用率为 0MB。这是正常的,可以忽略。您可以切换驱动程序到 nvidianvidia-dkms 来修复它。

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

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

拼写检查

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

要为特定语言启用拼写检查,请右键单击任何文本字段并选中检查拼写框。要选择用于拼写检查的语言,您必须再次右键单击并从语言子菜单中选择您的语言。

如果您的默认语言选择没有保留,请参阅 #Firefox 不记住默认拼写检查语言

系统级 Hunspell 字典

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

作为扩展的字典

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

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

XDG Desktop Portal 集成

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

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 集成

  • 要将 KDE 样式应用于 GTK 应用程序(包括 Firefox),请参阅 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 的补丁。或者,可以通过从已弃用的 ~/.local/share/applications/mimeapps.list 创建到 MIME 数据库 ~/.config/mimeapps.list 的符号链接来实现与 MIME 类型的集成,Firefox 使用的是已弃用的 ~/.local/share/applications/mimeapps.list。请参阅 XDG MIME 应用程序#mimeapps.list
  • 扩展/附加组件可以提供额外的集成,例如
提示: 要防止在媒体播放器小部件或托盘图标中出现重复条目,请将 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(您不能先启动 Firefox 然后启动 Festival)的情况下,朗读图标(耳机图标)才会出现。

此外,有时在您尝试终止 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#跳过文件升级

技巧和窍门

有关常规增强功能,请参阅 Firefox/Tweaks,有关隐私相关的增强功能,请参阅 Firefox/Privacy

深色主题

Firefox 应该尊重您的 GTK 主题设置和您的操作系统范围的深色外观设置(如 GNOME 设置或 KDE 系统设置的“外观”部分)。如果后者不起作用,请确保安装了合适的 xdg-desktop-portal 软件包。

从 Firefox 68 开始,您可以使所有 Firefox 界面甚至其他网站都尊重深色主题,而与系统 GTK 主题和 Firefox 主题无关。为此,请在 about:config [11] 中将 ui.systemUsesDarkTheme 设置为 1

截至 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。有关更多信息,请参阅 [12]

网页截图

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

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

Xwayland

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

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

$ MOZ_ENABLE_WAYLAND=0 firefox

要使其永久生效,请参阅 环境变量#图形环境,并像往常一样通过桌面启动器启动 Firefox。

要验证它是否有效,请在 about:support 中查找窗口协议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/Tweaks#像素级完美触控板滚动Firefox/Tweaks#启用触摸屏手势Firefox/Tweaks#平滑滚动

多个主页

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

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

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

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

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

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

Kiosk 模式

Firefox 支持 Kiosk 模式,该模式以全屏显示页面,而没有浏览器 chrome、上下文菜单和其他对典型桌面浏览有用的功能。这些可以在 ATM 或信息面板上看到,用户不希望与系统的其余部分进行交互。

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

$ firefox --kiosk url

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

如果您需要打印,可以阻止 Firefox 显示纸张尺寸配置对话框,方法是

$ firefox --kiosk --kiosk-printing url

紧凑模式

从 Firefox 版本 89 开始,紧凑模式密度选项已从自定义面板中删除 [13],但您仍然可以使用紧凑密度。为此,请在 about:config 中将 browser.uidensity 设置为 1

UI 可以进一步缩小,请参阅 Firefox/Tweaks#配置 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 的 错误报告 1426907 包含更多信息。

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

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

启用混合后量子密钥交换

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

故障排除

故障排除模式

命令行开关 -safe-mode故障排除模式下启动 Firefox,该模式禁用此会话的扩展、主题、硬件加速、JIT 和其他一些功能。

也可以通过在 Firefox 打开时按下汉堡菜单,单击帮助,选择故障排除模式并在出现的模式对话框中确认来启用此模式。请注意,这将需要重新启动浏览器。

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

Firefox 刷新

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

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

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

刷新您的配置文件将保留所有浏览和下载历史记录、书签、Web 表单自动填充数据、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 的配置。有关如何设置它的信息,请参阅 网络配置#本地网络主机名解析

行为不端的 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 内容类型对应的操作;需要指定文件路径(例如 Kmail 的 /usr/bin/kmail)。

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

文件关联

请参阅 默认应用程序

即使不希望这样,Firefox 仍会创建 ~/Desktop

Firefox 使用 ~/Desktop 作为下载和上传文件的默认位置。要将其更改为另一个文件夹,请按照 XDG 用户目录 中的说明设置 XDG_DESKTOP_DIR 选项。

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

在 Firefox 版本 98 中,在外部程序中打开文件的行为被悄悄地更改了。Firefox 现在不是将文件下载到 /tmp 并将该文件位置提供给子进程,而是像您选择保存文件一样下载文件,然后将下载目录中文件的位置提供给子进程。结果,您的下载目录将布满您只想打开查看的文件。当您在对话框中选择要使用的程序来打开文件时,以及对于您配置为自动在特定程序中打开的文件类型,都会发生这种情况。值得注意的是,对于某些在 Firefox 内部打开的文件类型(例如,如果启用了浏览器内 PDF.js 查看器,则为 PDF 文档),也会发生这种情况。

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

为此,请在 about:config 中创建并将 browser.download.start_downloads_in_tmp_dir 设置为 true

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

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

要考虑的其他设置

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

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

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

中键行为

要启用中键自动滚动(Windows 浏览器的默认设置),您有两种方法可以启用此功能

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

要禁用在单击鼠标中键时从剪贴板粘贴(PRIMARY 选择),请在 about:config 中将 middlemouse.paste 设置为 false

要在单击鼠标中键时将剪贴板的内容加载为 URL,请将 middlemouse.contentLoadURL 设置为 trueabout:config 中。这是 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

相关错误报告:Bugzilla 1189622

YouTube 全屏时滚动条未隐藏/禁用

本文或本节的事实准确性存在争议。

原因: 这不应该发生。添加 uBlock Origin 过滤器是一种权宜之计,听起来像是一个错误(或者可能是另一个扩展程序在干预)。(在 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 平台上的相关问题:[14], [15], [16]

相关错误报告:Bugzilla 776028, Ubuntu bug 1026869

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

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

缺少一些 MathML 符号

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

在 Arch Linux 中,这些字体由 texlive-fontsextra 提供,但默认情况下 Fontconfig 不可用。有关详细信息,请参阅 TeX Live#使字体可用于 Fontconfig。您也可以尝试其他 数学字体。如果您遇到此错误 [18],安装 otf-latinmodern-math 可能会有所帮助。

视频加载但不播放

这可能是 PulseAudio 问题。请参阅 PulseAudio/Troubleshooting#浏览器(firefox)加载视频但不播放 中建议的修复方法。

滚动时撕裂

尝试在设置 > 常规 > 浏览中禁用平滑滚动。请注意,页面将生涩地滚动。

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 的错误报告

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

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 和端口的名称可能有所不同。您可以使用 Patchbay(如 cadenceAUR 中的 Catia)检查您的 JACK 设置的外观。

地理位置定位不起作用

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

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

本文或章节已过时。

原因: Mozilla 位置服务 已停用。有替代方案吗?(在 Talk:Firefox 中讨论)

为避免这些问题,您可以切换到使用 Mozilla 位置服务。在 about:config 中,将 geo.provider.network.url 设置更改为

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

鼠标右键立即单击窗口管理器中的第一个选项

此问题已在 i3bspwmxmonad 中被观察到。

要修复此问题,请导航至 about:config 并将 ui.context_menus.after_mouseup 更改为 true

参见 [19]

禁用或启用合成后,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 更改为更高的数字。一种临时的找到合适数字的方法是每次增加 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

参见