Firefox (简体中文)

From ArchWiki

Tango-preferences-desktop-locale.png本文或本节需要翻译。要贡献翻译,请访问简体中文翻译团队Tango-preferences-desktop-locale.png

附注: English page has seen updates since last translation.(在 Talk:Firefox (简体中文)# 中讨论)
翻译状态:本文是 Firefox翻译。上次翻译日期:2020-11-07。如果英文版本有所更改,则您可以帮助同步翻译。

Firefox(火狐)是Mozilla(谋智网络)出品的一款图形界面网络浏览器。

安装

安装 软件包 firefox.中文界面请安装简体中文语言包 firefox-i18n-zh-cn

其它变种:

  • 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-beta-binAUR
https://www.mozilla.org/firefox/channel/desktop/#nightly || firefox-nightlyAUR
  • Firefox KDE — OpenSUSE 打过补丁的、具有更好的 KDE 集成的 Firefox 版本。
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-

注意: -nightly-developer-edition 因为会频繁更新翻译,可能导致崩溃,所以停用语言套件。 你可能需要在 about:config 中设置 intl.locale.requested 来强制变更用户界面语言 [1]

附加组件

参见: 浏览器插件

Firefox 广为人知的一点是它的大量的附加组件,可以用来添加新功能或更改 Firefox 中已有功能。你可以在 Firefox 中的“附加组件管理器”中查找新附加组件或管理已安装的附加组件。

想知道如何添加新的附加组件或查看附加组件列表,请查看 Browser extensions

增加搜索引擎

将搜索页建立一个书签,搜索的关键词用%s替代,就像这样:

Location:
https://duckduckgo.com/html/?q=%s
Keyword:
d

也可以通过扩展程序添加搜索引擎到Firefox,有关可用搜索工具和引擎的列表,请参见 这个页面

可以在以下网址找到大量搜索引擎列表:Mycroft Project.

你也可以用 add-to-searchbar 扩展来把搜索引擎添加到浏览器搜索框中,只需右键单击该网站的搜索字段,然后选择 Add to Search Bar...

firefox-extension-arch-search

firefox-extension-arch-searchAUR为Firefox搜索框添加Arch相关内容的搜索引擎(AUR、wiki、论坛……):

插件

Firefox 85 中移除了对所有插件的支持,包括 Flash Player。[2][3]

配置

Firefox提供不少配置项。要查看或者配置它们,在Firefox地址栏中输入:

 about:config

注意:一旦在about:config里改变了一些配置项的值,它们就会立刻影响用户当前的配置文件,其中一些配置项可能通过 Firefox Sync 跨设备同步。

但不是所有在about:config中修改的配置项都可以通过 Firefox Sync 同步,要知道到底哪一些配置项会被同步,只需在about:config中检索services.sync.prefs即可了解。 同时,你也可以创建新的布尔值项来同步其他配置项和第三方配置项(详见Mozilla官方文档[失效链接 2021-11-10 ⓘ])。 关于对扩展程序 NoScript 的白名单进行同步的方法,请使用这个配置项:

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

NoScript 的其他偏好设置也可以用 Firefox Sync 同步,只需将配置项noscript.sync.enabled设置为true

设置的存储位置

Firefox 在用户配置文件目录中的 prefs.js 文件存储用户配置,用户配置文件目录通常位于 ~/.mozilla/firefox/xxxxxxxx.default/

Firefox还允许你用user.js进行一些配置: user.js 同样存放在配置文件目录。 user.js 的配置会覆盖 prefs.js 的配置。 user.js 文件只会在启动的时候加载,所以你可以在运行时使用 about:config 进行测试,然后再修改 user.jsuser.js文件保存在配置文件文件夹中(通常是~/.mozilla/firefox/xxxxxxx.default/)。推荐想要修改这个文件的人看一看custom user.js,它对追求隐私和安全意识高的用户很是有用。

user.js有一个缺点就是它不能在系统范围内生效,而且user.js也不能用于预配置,因为user.js所在的配置文件目录是在首次启动浏览器之后才创建的。解决此问题的一个方法是先让 Firefox创建一个新的配置文件,然后在关闭它之后,把已经创建好的配置文件文件夹的内容复制进去。(详见Mozilla官方文档

有时可能需要锁定某些配置项,对一些用户来讲实乃一个非常有用的功能(特别是进行定制部署之时)。要创建系统范围的配置,按照 Locking preferences的步骤操作吧!

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(在这里写入配置项):

//
//...your settings...
// e.g to disable Pocket, uncomment the following line
// lockPref("browser.pocket.enabled", false);

请注意,文件第一行必须包含//;此外,其语法与user.js的语法很相似。

多媒体播放

Firefox用FFmpeg来播放HTML5中<audio><video>标签内的多媒体内容,所以要放多媒体的话。你要先安装ffmpeg

你可以到这个用来测试视频播放的网页[失效链接 2022-09-17 ⓘ]这个用来测试音频播放的网页 来看看你的Firefox是否支持多媒体播放,以及如果支持,支持了哪一些格式。

Firefox用PulseAudio 来播放音频. 所以如果要让Firefox发出声音,你要安装 pulseaudio 这个软件包.

如果你不用 PulseAudio, 也可以换用 apulse. 为此你必须要把 /dev/snd/ 从Firefox沙箱中排除,具体方法是把/dev/snd/添加到about:config中的security.sandbox.content.write_path_whitelist配置项里去(注:若此配置项的值包含多个内容,请把它们用逗号分隔。)

注意: /dev/snd/里最后那个斜杠/一定要加,否则会报“权限不足”的错误

假如你在用apulse时发现没有声音, 试着把 16 加进 about:config页中的security.sandbox.content.syscall_whitelist 里头。

注意: 如果没有正确配置音频,Firefox 可能无法播放视频。如果你打算使用 PipeWire and WirePlumber, 请确保它们都能正常工作。

HTML5 DRM/Widevine

Widevine是Netflix,Amazon Prime Video和其他公司用来保护其视频内容的数字版权管理工具。你可以在“首选项>常规>数字版权管理(DRM)内容”中把它启用。 如果在禁用此设置的情况下访问启用了Widevine的页面,则Firefox将在地址栏下方显示提示,询问是否允许安装DRM。选择允许并等待安装过程完成之后,就可以在被Widevine保护的站点观看视频了。

Firefox只能使用 Widevine 播放720p分辨率(或者更低)的视频,因为没有使用 硬件 DRM 播放。Widevine要求你在观看保护的视频内容时,不要开启隐私浏览模式,否则视频可能不会正常播放。

“打开方式”(Open With ...)扩展程序

  1. 安装 Open With 扩展程序.
  2. 进入 附加组件 > Open With > 首选项.
  3. 按照说明在系统中安装文件并测试安装。
  4. 单击 Add browser.
  5. 在对话框中,输入此菜单项的名称和用于启动播放器的命令 (e.g. /usr/bin/mpv).
    1. (选做) 向播放器添加所需的参数 (比方说,在mpv中,你可能需要 --force-window --ytdl )
  6. 右键或访问包含视频的链接. 从“打开方式”菜单中选择新创建的条目,如果支持该站点,则播放器将按预期方式打开。

可以使用类似方法来关联视频下载器,例如 youtube-dl.

视频硬解

使用VA-API进行视频硬解已经在 Wayland (详见 Firefox gets VA-API on Wayland) 和 X.org 上可用了 (详见 bugzilla X11 implement VAAPIPhoronix news VA API X11).

注意: 既使用AMDGPU也使用 linux-hardened 内核的用户可能需要用 CONFIG_CHECKPOINT_RESTORE=y选项rebuild一下 linux-hardened,因为 mesa 需要 kcmp syscall.

为Firefox启用 VA-API :

  1. 确保你的显卡正确配置了 VA-API:
  2. 使用支持硬解的合成器, 例如:
  3. about:config里设置下面的flags:
    • 设置media.ffmpeg.vaapi.enabledtrue 启用 VA-API with FFmpeg.
    • 设置media.ffvpx.enabledfalse 禁用 VP8/VP9 的内部解码器. 这是必要的,虽然this bug being fixed [6][7].
    • 设置media.navigator.mediadatadecoder_vpx_enabledtrue 启用WebRTC的 VA-API 硬件解码 [8].
    • 设置media.rdd-vpx.enabledfalse 禁用VP8/VP9的remote data decoder 处理 . Firefox 会尝试为VP8/VP9使用 RDD 处理但是 RDD 沙盒会禁用 VA-API 访问 [9]. 禁用VP8/VP9进程的远程数据解码器意味着VA-API将改在content process中运行。最好的解决办法是将VA-API移到GPU进程中。 [10].
      • 另一个解决办法是通过设置 media.rdd-process.enabledfalse完全禁用 RDD 处理 , 而不是像上面那样只禁用 VP8/VP9.
    • 在Intel上, 有些时候VA-API 可能在Intel iHD 驱动 intel-media-driver上不工作. 可以通过使用 Intel i965 驱动 libva-intel-driver解决. 这个方法不对只支持intel-media-driver驱动的Intel Iris Xe 显卡适用, 唯一的方法就是等待 Firefox实现X11/Wayland的GPU处理 (planned FF94) [11] [12] [13].
      • 作为最后的手段, content process sandbox 可以被禁用. 然而, 这会造成一个严重的安全隐患,导致对攻击者的保护失效。. 建议将沙箱设置保持为默认状态 [14]. 要禁用内容沙箱,请设置 security.sandbox.content.level0 [15].
  4. 以下列环境变量 启动Firefox:
    • 对于Wayland, 使用 MOZ_ENABLE_WAYLAND=1, 参照 #Wayland 支持.
    • 对于X.org, 使用 MOZ_X11_EGL=1 或者 在about:config里设置 gfx.x11-egl.force-enabledtruegfx.x11-egl.force-disabledfalse .
警告: 禁用content process sandbox会导致安全风险. 在未来,VA-API将被转移到GPU进程中,因此它被适当地沙盒化.
Note:
  • 尽管 NVIDIA 的专有驱动程序不支持 VA-API,但较新的版本支持 DMA-BUF。使用 libva-nvidia-driverAUR 可以在 NVIDIA 上使用 CUDA 进行硬件视频解码。有关必要的环境变量和 about:config 更改的文档,请参阅 GitHub 项目
  • 由于目前 VDPAU 和 libva-vdpau-driver 均不支持 DMA-BUF,因此该软件包将无法在 Firefox 中启用硬件视频加速。 事实上,从 Firefox 102 开始,安装并设置 media.ffmpeg.vaapi.enabled 将使 Firefox 在启动时崩溃。
  • 目前,Firefox 的 VA-API 实现可以解码 H.264/AVC、VP8 & VP9、AV1 编码的视频。 AV1 支持需要 FireFox 98+ [16]。由于 Firefox 默认关闭 AV1 支持,因此使用支持 AV1 硬件解码显卡的用户需要在 about:config 中设置 media.av1.enabledtrue 以开启 AV1 支持。
  • 多 GPU 系统应该可以根据这个已解决的问题自动为 VA-API 选择合适的 GPU。
  • linux-hardened 下的 AMDGPU 用户可能需要手动编译开启 CONFIG_CHECKPOINT_RESTORE=y 选项的 linux-hardened,因为 mesa 需要 kcmp 系统调用。 在 这个bug 被修复后,就不再需要手动操作了。

您可以通过检查 Firefox 的 VA-API 日志来验证 VA-API 的使用情况:使用环境变量 MOZ_LOG="PlatformDecoderModule:5" 启动 Firefox,用浏览器播放一段视频,并检查日志输出(搜索字符串"VA-API")。请注意这些日志,因为它们可以表明前面描述的两个可能的合成器(OpenGL或WebRender)中究竟哪一个被使用了。

提示:

拼写检查字典

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

选中任意文本,右键为该语言添加字典,重启浏览器即可。

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

如果您的默认语言选择不适用, 参见 #Firefox does not remember default spell check language.

使用系统级别的 Hunspell 字典

官方软件仓库安装软件包hunspell和其它语言例如 hunspell-fr (法语) or hunspell-he (希伯来语)。

默认情况下,Firefox 会在 /usr/lib/firefox/dictionaries 生成指向到 hunspell 字典的软链接。如果你不想使用所有语言的字典,可以删掉一部分。注意,Firefox 升级可能会还原这些软链接。

使用浏览器拓展

要获取更多语言的支持, 可以右键单击任何文本字段, 点击 语言->添加字典... 并且选择你想要从 词典和语言包列表 中安装的字典。

Gnome Keyring 整合

要整合 Firefox 与 GNOME Keyring,安装 Javascript 实现的 mozilla-extension-gnome-keyring-gitAUR[损坏的链接:package not found]。要让 firefox-gnome-keyring 使用你的登录 keychain,在 about:config 中设置 extensions.gnome-keyring.keyringName 为 "login" (不含引号)。注意 "login" 的首字母应为小写。

KDE 整合

警告: 由于GTK3更新到3.20.x,有一些主题不能正常使用(包括Breeze,推荐的一个KDE和GTK间的整合主题)。 其中的一些问题是滚动条不可见,不选中的文本高亮显示,隐藏的复选框等等。 若要解决这个问题,安装kde-gtk-config后,进入系统设置 - >应用程序样式 - > GNOME应用程序样式(GTK),然后在选择GTK3主题下拉菜单中选择默认主题。 有关上述兼容性问题的更多信息,请访问Arch Forums中的有关GTK3 3.20 更新的帖子。
  • 在 Firefox 中使用 GTK 外观。安装 breeze-gtkkde-gtk-config。然后进入系统设置 -> 程序外观 -> GTK,GTK2/GTK3 主题选择为 Breeze,勾选显示 GTK 按钮的图标。
  • 可以使用 AUR 中的 firefox-kde-opensuseAUR Firefox 变种来集成 KDE 的文件关联系统和文件对话框。
  • 要在 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。
  • 为了与 KDE MIME 类型系统、代理和文件对话框集成,可以使用 AUR 中打了 OpenSUSE 补丁的 firefox-kde-opensuseAUR 变体。 创建符号链接 ~/.local/share/applications/mimeapps.list (Firefox 已放弃使用)指向 MIME 数据库 ~/.config/mimeapps.list 来实现与 MIME 类型的集成。 更多信息请参看 XDG MIME Applications#mimeapps.list
  • 扩展/附加组件可以提供额外的集成,例如:
{{提示|要防止 Media Player 小部件或托盘图标中出现重复条目,请将 media.hardwaremediakeys.enabled 设置为 false。 这会禁用来自 Firefox 的媒体条目,并且只使用来自 Plasma 集成附加组件的媒体条目。

小技巧

如果只是一般的改进可以参看Firefox/Tweaks, 隐私上的改进则可以参看 Firefox/Privacy.

暗黑主题

Firefox 应该会遵循您的 GTK 主题设置和操作系统级别的深色外观设置(如GNOME/KDE设置的外观部分)。如果后者不起作用,请确保安装了合适的 xdg-desktop-portal 包。

从 Firefox 68 开始,你可以让所有的 Firefox 界面甚至其他网站都遵循暗黑主题,而不管系统 GTK 主题和 Firefox 主题。方法是在about:config中设定 browser.in-content.dark-modetrue 并把ui.systemUsesDarkTheme 设定为 1 [17].

如果你使用了暗黑 GTK主题 (比方说:Arc Dark), 建议你用亮色主题打开 Firefox (比方说:Adwaita)。 参看 GTK#ThemesFirefox/Tweaks#Unreadable input fields with dark GTK themes 来了解更多。

从 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)。

限制内存使用

防止页面滥用内存 (或者 OOM), 我们可以用 Firejailrlimit-as 选项.

新标签页的位置

要控制新标签的显示位置(相对或绝对),请使用 browser.tabs.insertAfterCurrentbrowser.tabs.insertRelatedAfterCurrent。详见 [18] 来了解更多信息.

网页截图

您可以使用截屏按钮进行截屏,也可以使用组合按键 Ctrl+Shift+s,或者也可以直接在网页中右键->截图(T)截屏按钮可从自定义菜单中(就是点地址栏右边那三个横杆按钮弹出来的菜单)的 更多工具 > 定制工具栏...中添加到浏览器工具栏中。有关更多信息,请参见[19]

此外,开发人员工具中的屏幕截图按钮(截取整个页面)也不失为一种可行的办法,该按钮可以通过开发人员工具的“设置”菜单在“可用的工具箱按钮”部分下添加。开发人员工具的“设置”可通过位于开发人员工具窗格右上角的三个水平点进行访问。

Wayland 支持

较新版本的Firefox支持通过环境变量启用Wayland支持。

$ MOZ_ENABLE_WAYLAND=1 firefox

要使该选项永久启用,请参见 Environment variables#Graphical environment 然后像通常一样通过桌面启动器启动Firefox。 为了验证它是否有效,再次检查“窗口协议”。

方法是,在 about:support 中检查 窗口协议. 值应该是wayland 而非X11。如果显示为 X11 则意味着您在 Xorg 显示服务器下运行 Firefox,而 xwayland 意味着您的系统正在运行 Wayland 但将 Firefox 作为 X11 应用程序执行。

如果有必要定期在 Wayland 和 X.org 之间切换,在 shell 的登录启动脚本中添加条件可能会很有用,例如 ~/.bash_profile 用于 Bash

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

窗口管理器规则

要将不同的配置应用于Firefox窗口,请使用Firefox的--class选项将WM_CLASS字符串更改为自定义选项。

配置文件

要启动新的Firefox实例,需要“多个配置文件”。至于如何创建新的配置文件:

$ firefox [--new-instance] -P

使用未在使用的配置文件启动Firefox时可指定class:

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

触摸屏手势和触控板滚动

Merge-arrows-2.pngThis article or section is a candidate for merging with Firefox/Tweaks#Enable touchscreen gestures.Merge-arrows-2.png

Notes: Same solution. (Discuss in Talk:Firefox (简体中文))

要启用触摸手势(如滚动和双指缩放)以及良好的触控板滚动(如 Nautilus 等 GTK3 应用程序所示),请在启动Firefox之前设置此环境变量

   MOZ_USE_XINPUT2=1

在 Wayland 上,只需要设置

   MOZ_ENABLE_WAYLAND=1

由于 [20],动态滚动在 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模式

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

要使用 kiosk 模式,请使用以下命令启动 Firefox:

$ firefox --kiosk url

启动页面可以配置设置或作为命令行参数提供。

如果您需要打印,您可以通过以下方式阻止 Firefox 显示纸张尺寸配置对话框:

$ firefox --kiosk --kiosk-printing url

疑难解答

排障模式

命令行开关 -safe-modeTroubleshoot 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即可。

某些扩展不能在 Mozilla 拥有的域名中工作

一般来说,扩展不会对 extensions.webextensions.restrictedDomains 中的域名起效。 如果想更改这个设置,可以清除该字段。 (注意这对像about:*这样的特殊页面没有影响)。然后创建并将 privacy.resistFingerprinting.block_mozAddonManager 设置为 true

Firefox 启动时间太长

如果 Firefox 启动时间比其它浏览器更长,这可能是因为 /etc/hosts 里没有设置 localhost。查看 Network configuration#Local network hostname resolution 了解怎么设置。

Firefox 扩展行为不当,或扩展太多,可能是启动缓慢的另一个原因。可以通过开启#排障模式来确认,该模式下将在重新启动时禁用扩展。

启动缓慢的另一个原因可能是配置文件问题,例如损坏。有关 Firefox 配置文件的更多故障排除步骤,请参阅#Firefox 翻新

字体问题

参见 Font configuration.

Firefox 有一个设置用于决定允许从 fontconfig 替换多少次。要允许它使用你所有的替换规则,请更改gfx.font_rendering.fontconfig.max_generic_substitutions127 (注:127是该字段可填写的最大值)。

Firefox 附带了 Twemoji Mozilla 字体. 如果你想使用系统的 emoji 字体请在about:configfont.name-list.emoji 设置为 emoji

Firefox 在 Emoji 显示上有问题。 [21]. 要解决此问题,可以将gfx.font_rendering.fontconfig.max_generic_substitutions 设定为 0

设置 email 客户端

一般地,Firefox 会使用像 Gmail 或 Yahoo Mail 这样的 Web 程序打开 mailto 链接。要使 Firefox 用你的email 客户端打开 mailto 链接,找到 选项 > 应用程序 并将 mailto 对应的动作修改为你的 email 客户端的准确路径,如 /usr/bin/kmail

mailto链接由x-scheme-handler/mailto mime类型处理,可以使用xdg-mime轻松配置。 有关详细信息和备选方法,请参阅『默认应用程序』

文件关联

参见 Default applications.

Firefox 自动创建 ~/Desktop,但我不需要

Firefox 默认使用 ~/Desktop 作为上传和下载目录。按 XDG user directories 中的说明修改 XDG_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

中键点击问题

! 此 URL 无效,无法载入,

许多人使用中键点击时会莫名跳转到某页面,或者出现上述错误。

问题的原因是,许多类UNIX操作系统设置鼠标中键执行粘贴操作。这与Firefox的功能冲突了(在新窗口打开链接)。可以关闭Firefox的这项功能:

在浏览器地址栏输入:

about:config

打开并找到middlemouse.contentLoadURL项,设置为false。

此外,如果要打开中键点击出现滚轮的功能(Windows默认启用),设置general.autoScroll为true。

Backspace 键无法实现“后退”功能

根据 MozillaZine上的链接, Backspace 键执行的操作是基于运行浏览器的平台而决定的。不过,有一个首选项可以用于配置Backspace键返回/前进、上/下滚动页面或不执行任何操作。

要想使Backspace用于返回上一页, Shift+Backspace 用于前进一页, 可以在about:config中将browser.backspace_action 设定为 0.

要想使Backspace 用于向上滚动页面,Shift+Backspace用于向下滚动页面,将 browser.backspace_action 设定为 1.

若将此属性设置为上文所述之外的其他值,Backspace将不执行任何操作。(Arch Linux默认为2, 换句话说,Arch Linux 中的 Firefox 默认不对Backspace做出任何反应).

无法记录登录信息

有可能是Firefox profile文件夹中的cookies.sqlite损坏了。关闭浏览器后删除cookie.sqlite即可:

打开终端输入:

$ cd ~/.mozilla/firefox/xxxxxxxx.default/
$ rm -f cookies.sqlite
注意: xxxxxxxx 表示由Firefox随机生成的8个字符

重启Firefox检查问题是否解决。 如果没解决,可以检查一下是否存在cookies.sqlite.bak文件。如果存在,你可以用它手动恢复 Cookies 信息。

不能进入/退出全屏模式

如果 Firefox 检测到了EWMH/ICCCM 兼容的窗口管理器, 它就会尝试发送一个 WM_STATE 消息到根窗口来请求进入(或退出)全屏模式(由窗口管理器所定义). 窗口管理器可以忽略它们, 但是一旦它们忽略, Firefox会假设请求被拒绝,并将其告知给最终用户,结果什么都没有发生。 这可能导致的现象之一就是没法全屏查看视频。一种解决方案是在about:config中将full-screen-api.ignore-widgets设定为true.

Firefox 错误地认为插件过时

关闭Firefox时,后者会将当前的时间戳和插件版本保存在配置文件文件夹中的pluginreg.dat中,通常在 ~/.mozilla/firefox/some name.default/ 中。

如果Firefox在运行时升级了插件,则会在该文件中包含错误的信息。 当你下一次重启 Firefox 时,会报告一个错误『Firefox已经阻止了过时的插件“插件名称”在运行』。这个问题通常出现在官方的Adobe Flash Player插件上,而Firefox在运行时已经升级。

解决方案是从您的配置文件中删除文件pluginreg.dat。事实上,Firefox不会由于丢失的文件而停止运行,因为下次Firefox关闭时,它将被重新创建。 [22]

在一些网页中,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 可能不会保存你默认的词典语言设置。要解决这个问题,你可以添加至少一个 词典 插件. 注意现在附加组件中也会有词典栏.

StackExchange 上的相关问题: [23], [24], [25]

相关的漏洞报告: Bugzilla 776028, Ubuntu bug 1026869

一些 MathML 符号消失了

你需要一些数学字体,比如 Latin Modern Math 和 STIX (查看这个 MDN 页面: [26]) 以正确的显示 MathML。

在 Arch Linux 中,texlive-coretexlive-fontsextra 提供了这些字体,但是默认情况下设置字体却无法使用它们。详情参见 TeX Live#Making fonts available to Fontconfig。你也可以尝试 Math fonts

全屏模式下视频断裂

如果你使用 Xorg Intel 或者 Nouveau 驱动并且感觉全屏模式下视频有撕裂感,试试 Firefox/Tweaks#Enable Legacy OpenGL compositor[损坏的链接:无效的章节]

滚动时屏幕撕裂

首选项 > 浏览中关闭平滑滚动.

Firefox 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且不能识别Virtual Echo Canceling Source时这也很有用

使用中国版火狐通行证账号同步

火狐除了全球同步服务外,在中国大陆地区,谋智公司也提供了一个单独的中国版火狐通行证同步服务,为中国大陆地区的用户提供了更加稳定的同步服务器。

软件源中的 firefox 软件包默认仅支持全球同步服务。安装这个来自火狐中文社区的扩展 便可以启用中国版火狐通行证的同步服务。

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"

地理定位功能不能用

最近,Google限制了Arch Linux的定位服务的使用,当在网站上启用地理定位时,会导致以下错误: Geolocation error: Unknown error acquiring position. 地区限制的服务如 Hulu 可能会显示一个类似的错误,提示你即使已允许站点的位置服务,也无法确定您的位置。

要解决此问题,可以换用 Mozilla Location Service. 方法是在 about:configgeo.provider.network.url修改为

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

参考FS#65241获得细节信息.

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

可能会发生在 i3, bspwm and xmonad.

要解决此问题,在about:config修改ui.context_menus.after_mouseuptrue.

另见 [27]

参见