Chromium

来自 ArchWiki
(重定向自 Google Chrome

Chromium 是一个基于 Blink 渲染引擎的开源图形网页浏览器。它是专有浏览器 Google Chrome 的基础。

请参阅此页面,了解 Chromium 和 Google Chrome 之间差异的说明。此外

  • 在 Chromium 89+ (2021-03-02) 中,同步功能不可用 [1]
注意: 同步功能可以通过使用 Chrome 的 OAuth2 凭据获取您自己的凭据来临时恢复,但请注意免责声明,不要将此视为长期解决方案。

考虑切换到 xbrowsersync 以进行书签同步,作为长期解决方案。

有关其他基于 Chromium 的浏览器,请参阅List of applications/Internet#Blink-based

安装

有几个软件包可用于安装 Chromium,包括:

Google Chrome 软件包

注意: 来自Chromium 隐私页面:“通过 Chromium 代码编译与 Google 通信的功能受Google 隐私政策的约束。” 对于那些想要避免与 Google 服务集成的人来说,有一些注重隐私的分支

配置

本文或本节是与Chromium#技巧和提示 2 合并的候选对象。

注意: 本节中的大部分内容应在Chromium#技巧和提示 2 和可能的Chromium#故障排除(对于适用的部分)之间进行拆分。(在Talk:Chromium中讨论)

默认应用程序

要将 Chromium 设置为默认浏览器并更改 Chromium 在打开下载文件时启动的应用程序,请参阅默认应用程序

证书

Chromium 使用 Network Security Services 进行证书管理。可以在 chrome://settings/certificates 中管理证书。

使 flags 持久化

注意: chromium-flags.conf 文件和随附的自定义启动器脚本特定于各种 Chromium 软件包。对于 Google Chrome,请改用 chrome-flags.conf(或 Dev 和 Beta 频道的 chrome-channel-flags.conf)。

您可以将您的 flags 放在 chromium-flags.conf 文件中,该文件位于 $HOME/.config/ 下(如果您已配置该环境变量,则位于 $XDG_CONFIG_HOME 下)或全局的 /etc/ 下。

不使用特殊的语法;flags 的定义方式就像它们写在终端中一样。

  • 参数在空格上拆分,并应用 shell 引用规则,但不执行进一步的解析。
  • 如果文件中任何位置存在不正确的引用,则会引发致命错误。
  • Flags 可以放在单独的行中以提高可读性,但这并非必需。
  • 以井号 (#) 开头的行将被跳过。(Chromium 启动器脚本仅支持此功能,并且在使用 Google Chrome 时无效。)

下面是一个示例 chromium-flags.conf 文件,它定义了 flags --start-maximized --incognito

~/.config/chromium-flags.conf
# This line will be ignored.
--start-maximized
--incognito

强制启用 GPU 加速

自 Chromium 110 起,大多数系统默认启用 GPU 加速。如果您的系统配置与阻止列表匹配,您可能需要将以下 flags 附加持久配置

警告: 禁用渲染阻止列表可能会导致不稳定的行为,包括主机崩溃。有关详细信息,请参阅 chrome://gpu 中的错误报告。
~/.config/chromium-flags.conf
--ignore-gpu-blocklist
--enable-zero-copy

硬件视频加速

注意
  • Chromium 或 Arch Linux 均未对此功能提供官方支持 [2]。但是,官方存储库中的 chromium 是使用 VA-API 支持编译的,您可以向专门的论坛主题寻求帮助。
  • 自 Chromium 122 版本起,不再需要额外的 VA-API 软件包。当使用带有官方存储库中 chromium 软件包的原生 Wayland 后端时,VA-API 可以工作。
  • 在 AMD GPU 设备上,VA-API 无法开箱即用,需要 mesa >= 24.1 以及启用 Vulkan。这可能会导致 X11/XWayland 下的 WebGL 出现问题。自 125.0.6422.141-1 版本以来,Vulkan 与#原生 Wayland 支持一起工作。
注意: 当尝试在 chromium-flags.conf 中找到正确的 flags 组合时,请注意此文件最多应包含一行以 --enable-features--disable-features 开头的行。多个功能必须用逗号连接。

如果您已通过检查 vainfo 的输出(请参阅硬件视频加速#验证 VA-API)确认 VA-API 支持正常工作,您可以首先尝试单独使用以下 flag

~/.config/chromium-flags.conf
--enable-features=AcceleratedVideoDecodeLinuxGL
注意: 131 之前的 Chromium 版本应使用 --enable-features=VaapiVideoDecodeLinuxGL

否则,请继续阅读。

要启用 Chromium 中的加速

  • 添加 AcceleratedVideoEncoder 功能,例如 --enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder。 详见 [3][4] 以了解详情。

要启用 VA-API 支持

  • 为您的显卡安装正确的 VA-API 驱动程序,并验证 VA-API 已启用且正常工作,请参阅 硬件视频加速。 对于 NVIDIA 专有驱动支持,需要安装 libva-nvidia-driver
  • 设置选项 --enable-features=VaapiVideoDecoder。 当使用 ANGLE GL 渲染器和 libva-intel-driver 时,这已足够。
  • 当使用 ANGLE 时,Chromium 会强制使用较旧的 i965 驱动程序,并在使用 intel-media-driver 时失败。 作为一种解决方法,手动配置 VA-API。 详见 [5] 以了解详情。
  • 要在 Xorg 或 Wayland 上使用系统 GL 渲染器,请使用 --use-gl=egl。 当使用 Chrome 112 及更高版本时,可能不再需要设置此选项,并且在使用 AMD GPU 时可能会破坏 GPU 加速。
  • 如果 VA-API 仍然无法工作,请尝试 --enable-features=VaapiIgnoreDriverChecks--disable-features=UseChromeOSDirectVideoDecoder 标志
  • 如果 VA-API 在 X11 和旧 GPU 上仍然无法工作,请设置 LIBVA_DRI3_DISABLE=1 环境变量 [6]

Vulkan

当使用 Vulkan 时,以下标志是必需的,并且在 Chromium 126 和 Mesa 24.1 上可能也足够

~/.config/chromium-flags.conf
--enable-features=VaapiVideoDecoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE

无需上述任何其他标志。

提示与技巧

本文或本节已过时。

原因
  • Chromium 在 Wayland + RADV 上为 AV1 使用 VaapiVideoDecoder
  • Chromium 在 Wayland + RADV 上为任何尺寸的视频使用 VaapiVideoDecoder
(在 Talk:Chromium 中讨论)

要检查它是否工作,请播放一个使用您的 VA-API 驱动程序支持的编解码器的视频(vainfo 会告诉您支持哪些编解码器,但 Chromium 仅支持 VP9 和 h264)

  • Ctrl+Shift+I 或在上下文菜单(右键单击)的检查按钮上打开 DevTools
  • 添加媒体检查标签页:汉堡菜单 > 更多工具 > 媒体
  • 在新打开的媒体标签页中,查看视频解码器的硬件解码器状态

在一个足够大的视频上进行测试。 从版本 86 开始,桌面版 Chromium 将仅加速大于 720p 的视频

为了减少观看 YouTube 时的 CPU 使用率,在 VP8/VP9 硬件解码不可用时,请使用 h264ifyenhanced-h264ifyNot yet, AV1[7] 扩展程序。

在某些系统上(尤其是在 Xwayland 上),您可能需要#强制 GPU 加速。 仅 --ignore-gpu-blocklist 就足以满足我们的目的。

本文或本节需要扩充。

原因: 提供一些错误报告的链接。(在 Talk:Chromium 中讨论)

您可能需要禁用 Skia 渲染器,因为它目前与视频解码加速不兼容:--disable-features=UseSkiaRenderer

KDE 集成

为了集成到 Plasma 中,请安装 plasma-browser-integration。 详见 KDE Plasma 浏览器集成 以了解更多详情。

PDF 查看器插件

Chromium 和 Google Chrome 捆绑了Chromium PDF 查看器插件。 如果您不想使用此插件,请在 chrome://settings/content/pdfDocuments 中勾选下载 PDF

在 Xwayland 上运行

如果您正在使用 NVIDIA 的专有驱动程序,在 Xwayland 上运行 Chromium 可能会导致 GPU 进程偶尔崩溃。 为了防止 GPU 进程崩溃,请添加以下标志

--use-angle=vulkan --use-cmd-decoder=passthrough
注意: 这不能防止所有与 Xwayland 相关的崩溃。

原生 Wayland 支持

自版本 97 起,可以使用以下标志启用 Chromium 中的原生 Wayland 支持 [8]

--ozone-platform-hint=auto

如果这不起作用,例如在 Weston 下的版本 106 上,请使用

--ozone-platform=wayland

有关永久配置,请参阅#使标志持久化。 该标志也可通过 浏览器标志菜单 获得。

这将在 wayland 会话中选择 wayland Ozone 后端,因此如果您经常在 X11 和 Wayland 之间切换,则可以使用单个桌面条目。

注意: 当在浏览器标志菜单中更改 “ozone-platform-hint” 时,浏览器将为您提供一个重新启动按钮。 请勿使用它,因为浏览器仍将在更改标志之前的平台上重新启动。 您需要关闭浏览器,然后重新打开它。

此外,如果您在 输入法方面遇到问题,您可能还需要强制使用较新的 GTK

--gtk-version=4

如果您正在使用 Fcitx5 并且在使用上述标志时无法正常工作,请尝试使用 --enable-wayland-ime 标志而不是 --gtk-version=4[9]

--enable-wayland-ime --wayland-text-input-version=3
注意: 如果 text_input_v1 协议默认实现,则启用 --enable-wayland-ime 标志有效。 已知实现此协议的合成器有:Weston、KWin、Hyprland。

用于导航的触摸板手势

要启用双指滑动以在历史记录中前进和后退,请使用以下标志

--ozone-platform-hint=auto --enable-features=TouchpadOverscrollHistoryNavigation

提示与技巧

除非另有明确说明,否则以下提示和技巧应适用于 Chromium 和 Chrome。

浏览体验

chrome:// URL

可以通过 Chrome URL 访问许多调整项。 有关完整列表,请参阅 chrome://chrome-urls

  • chrome://flags - 访问实验性功能,例如 WebGL 和使用 GPU 渲染网页等。
  • chrome://extensions - 查看、启用和禁用当前使用的 Chromium 扩展程序。
  • chrome://gpu - 不同 GPU 选项的状态。
  • chrome://sandbox - 指示沙盒状态。
  • chrome://version - 显示版本和用于调用活动 /usr/bin/chromium 的开关。

Chromium 开关(命令行参数)的自动更新的完整列表可在此处获得 here

Chromium 任务管理器

可以使用 Shift+ESC 调出浏览器任务管理器,在其中可以查看内存、CPU 和网络使用情况。

Chromium 覆盖/重写首选项文件

如果您启用了与 Google 帐户同步,则 Chromium 将覆盖对 ~/.config/chromium/Default/Preferences 下找到的首选项文件的任何直接编辑。 要解决此问题,请使用 --disable-sync-preferences 开关启动 Chromium

$ chromium --disable-sync-preferences

如果 Chromium 在您登录到桌面环境时在后台启动,请确保您的桌面环境使用的命令是

$ chromium --disable-sync-preferences --no-startup-window

搜索引擎

使 wiki.archlinux.orgwikipedia.org 等站点易于搜索,方法是首先在这些页面上执行搜索,然后转到设置 > 搜索并单击管理搜索引擎.. 按钮。 从那里,“编辑” Wikipedia 条目并将其关键字更改为 w(或您喜欢的其他快捷方式)。 现在,只需输入“w arch linux”即可从地址栏搜索 Wikipedia 中的 “Arch Linux”。

注意: 当在 URL 栏中键入内容时,会自动使用 Google 搜索。 使用 ? 前缀也可以使用硬编码的关键字触发器。

Tmpfs

tmpfs 中的缓存
注意: Chromium 将其缓存与浏览器配置文件目录分开存储。

为了限制 Chromium 将其缓存写入物理磁盘,可以通过 --disk-cache-dir 标志定义替代位置

$ chromium --disk-cache-dir="$XDG_RUNTIME_DIR/chromium-cache"

缓存应被视为临时性的,并且在重新启动或硬锁后不会保存。 另一种选择是在 /etc/fstab 中设置空间

/etc/fstab
tmpfs	/home/username/.cache	tmpfs	noatime,nodev,nosuid,size=400M	0	0

或者创建一个指向 /tmp 的符号链接。 在运行命令之前,请确保删除 Chromium 的缓存文件夹

$ ln -s /tmp /home/username/.cache/chromium
tmpfs 中的配置文件

将浏览器配置文件重定位到 tmpfs 文件系统,包括 /tmp/dev/shm,以提高应用程序响应速度,因为现在整个配置文件都存储在 RAM 中。

使用诸如 profile-sync-daemon 之类的活动配置文件管理工具,以获得最大的可靠性和易用性。 它将浏览器配置文件目录符号链接或绑定挂载并同步到 RAM。 有关更多信息,请参阅 Profile-sync-daemon

启动新的浏览器实例

当您启动浏览器时,它首先检查是否已有一个使用相同数据目录的实例正在运行。 如果有一个,则新窗口与旧实例关联。 如果您要启动浏览器的独立实例,则必须使用 --user-data-dir 参数指定单独的目录

$ chromium --user-data-dir=/path/to/some/directory
注意: 用户数据的默认位置是 ~/.config/chromium/

直接使用 torrent 客户端打开 *.torrent 文件和 magnet 链接

默认情况下,Chromium 会直接下载 *.torrent 文件,您需要单击屏幕左下角的通知,以便使用默认 torrent 客户端打开该文件。 可以使用以下方法避免这种情况

  • 下载 *.torrent 文件。
  • 右键单击屏幕左下角显示的通知。
  • 选中“始终打开此类文件”复选框。

请参阅 xdg-open 以更改默认关联。

触摸屏设备上的触摸滚动

您可能需要指定要使用的触摸设备。 使用 xinput list 查找您的触摸屏设备,然后使用 --touch-devices=x 参数启动 Chromium,其中 “x” 是您的设备的 ID。

注意: 如果设备被指定为从属指针,则使用此方法可能无效,请改用主指针的 ID。

减少内存使用量

默认情况下,Chromium 为访问的每个网站实例使用单独的操作系统进程。 [10] 但是,您可以在启动 Chromium 时指定命令行开关来修改此行为。

例如,要为网站的所有实例共享一个进程

$ chromium --process-per-site

要使用单进程模型

$ chromium --single-process
警告: 不建议使用单进程模型,因为它不安全,并且可能包含其他模型中不存在的错误。[11]

此外,您可以使用诸如 Tab SuspenderOneTab 等扩展程序来挂起或存储非活动标签页。

用户代理

可以在 Chromium 的基本实例启动时通过其 --user-agent="[string]" 参数任意修改用户代理。

DOM Distiller

Chromium 具有类似于 Firefox 的阅读器模式。 在这种情况下,它被称为 DOM Distiller,这是一个 开源项目。 默认情况下它是禁用的,但可以使用 chrome://flags/#enable-reader-mode 标志启用它,您也可以使其持久化。 DOM Distiller 不仅通过提炼页面内容来提供更好的阅读体验,而且还简化了页面以进行打印。 即使后一个复选框选项已从打印对话框中删除,您仍然可以打印提炼后的页面,这基本上具有相同的效果。

启用该标志后,当 Chromium 认为您正在访问的网站可以进行提炼时,您会在地址栏中找到一个新的 “进入阅读器模式” 菜单项和相应的图标。

强制使用特定 GPU

在多 GPU 系统中,Chromium 会自动检测应使用哪个 GPU 进行渲染(独立显卡或集成显卡)。 这在 99% 的情况下都有效,除非它不起作用 - 如果选择了不可用的 GPU(例如,在启用 VFIO GPU 直通的系统上选择了独立显卡),chrome://gpu 会抱怨无法初始化 GPU 进程。 在同一页面的驱动程序信息下方,将显示多个 GPU(GPU0、GPU1、...)。 没有用户友好的方式在它们之间切换,但您可以读取此处存在的设备/供应商 ID,并将 Chromium 配置为使用带有标志的特定 GPU

$ chromium --gpu-testing-vendor-id=0x8086 --gpu-testing-device-id=0x1912

...其中 0x80860x1912 替换为您要使用的 GPU 的 ID(如 chrome://gpu 页面上所示)。

从 Firefox 导入书签

为了简化过渡,您可以将书签从 Firefox 导入到 Chromium。

在 Chromium 中导航到 chrome://settings/importData

如果您的计算机上已安装 Firefox,您可以直接从 Firefox 导入书签以及许多其他内容。

确保选中Mozilla Firefox。 (可选)您可以取消选中此处不需要的项目。 单击导入,然后单击完成。 您已完成操作。

注意: 如果您尚未在 Chromium 中创建任何书签,则书签将显示在您的书签栏中。 如果您已经有书签,则书签将位于名为 “从 Firefox 导入” 的新文件夹中

如果要从另一台 PC 导入书签,则必须先从 Firefox 导出书签。

Ctrl+Shift+o 导入和备份 > 将书签导出为 HTML 在 Firefox 中。

该步骤几乎相同。 您需要转到 chrome://settings/importData。 但是,这一次,在下拉菜单中,选择书签 HTML 文件,然后单击选择文件按钮并上传所需的书签文件。

启用原生通知

转到 chrome://flags#enable-system-notifications 并选择已启用

启用鼠标中键自动滚动

自动滚动仍然是一项实验性功能 [12]。 如果 Chromium 或基于 Chromium 的浏览器不是开发版本并且在 Linux 环境中运行,则默认情况下应禁用它。 [13]

要启用此功能,请使用 --enable-features=MiddleClickAutoscroll 标志启动浏览器。 如果您想使该选项持久化,请参阅 #使标志持久化

注意
  • 虽然设置 --enable-blink-features 的效果与仅输入 --enable-features 相同,但浏览器可能会显示警告,指出这是一个不受支持的标志,会“影响稳定性和安全性”。
  • 作为替代方案,您可以从 Chrome 网上应用店添加一个扩展程序,例如 WHEELY,它具有类似的行为。
提示: 另一个选择是安装 chromium-extension-autoscrollAUR,但不建议这样做,因为它是一个过时的软件包且非官方。请谨慎使用。

U2F 身份验证

安装 libfido2 库。 这提供了必要的 udev 规则,以允许用户访问 U2F 密钥。 默认情况下,U2F 密钥仅可由 root 用户访问,如果没有这些规则,Chromium 将会报错。

主题

您可以让 Chromium 使用当前 GTK 主题来设置浏览器菜单和控件的样式。 只需在 chrome://settings/appearance 中点击使用 GTK

深色模式

自 Chromium 114 起,XDG Desktop Portal 用于自动确定用户的首选外观(issue),从而将深色模式的启用与用户的 GTK 主题分离。 此首选项将应用于 CSS、JavaScript、设置和开发者工具中的 prefers-color-scheme

更改首选外观的方式取决于您的 XDG Desktop Portal 后端。 例如,许多桌面环境在其外观设置中都有一个开关。 或者,当使用例如 xdg-desktop-portal-gtk 时,使用以下命令将首选模式设置为 prefer-lightprefer-darkdefault

$ dconf write /org/gnome/desktop/interface/color-scheme \'prefer-dark\'

您可以使用 dbus 中的 dbus-send 查询当前的首选外观(文档

$ dbus-send --session --print-reply=literal --dest=org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop org.freedesktop.portal.Settings.Read string:org.freedesktop.appearance string:color-scheme | tr -s ' ' | cut -d ' ' -f 5
  • 0: 无偏好
  • 1: 偏好深色外观
  • 2: 偏好浅色外观
Chromium 114 之前

要启用深色模式并启用深色主题(通常用于隐身模式),请将以下标志附加持久配置

~/.config/chromium-flags.conf
--force-dark-mode
--enable-features=WebUIDarkMode

启用侧边栏

侧边栏可以通过 chrome://flags 启用。 您可以启用或禁用 Side panel,并更改诸如 Side panel borderSide panel drag and drop 之类的选项。

配置文件维护

Chromium 使用 SQLite 数据库来管理历史记录等。 Sqlite 数据库随着时间的推移会变得碎片化,并到处出现空白空间。 但是,由于没有管理进程来检查和优化数据库,这些因素最终会导致性能下降。 改善启动和一些其他书签及历史记录相关任务的一个好方法是从这些数据库中进行碎片整理并修剪未使用的空间。

profile-cleanerbrowser-vacuumAUR 正是做这个的。

安全

禁用 JIT

以降低性能为代价,您可以禁用 JavaScript 即时编译为本机代码,这导致了 JS 引擎中大约一半的安全漏洞,使用 --js-flags=--jitless 标志。

WebRTC

WebRTC 是一种依赖 JavaScript 的通信协议,它可以从 VPN 后面泄漏用户的真实 IP 地址和硬件哈希。 虽然某些软件可以阻止泄漏脚本的运行,但为了安全起见,最好也直接阻止此协议。 截至 2016 年 10 月,在桌面版 Chromium 上没有办法禁用 WebRTC,但有一些扩展程序可以禁用本地 IP 地址泄漏,其中一个是这个扩展程序

可以通过 https://browserleaks.com/webrtc 测试 WebRTC。

警告: 即使 IP 泄漏可以被阻止,Chromium 仍然会发送您的唯一哈希,并且没有办法阻止这种情况。 请在 https://www.browserleaks.com/webrtc#webrtc-disable 上阅读更多信息

SSL 证书

Chromium 没有 SSL 证书管理器。 它依赖于 NSS 共享数据库 ~/.pki/nssdb。 为了将 SSL 证书添加到数据库,用户将不得不使用 shell。

为自签名证书添加 CAcert 证书

获取 CAcert 并创建一个 nssdb,如果它尚不存在。 为此,首先安装 nss 软件包,然后完成以下步骤

$ mkdir -p $HOME/.pki/nssdb
$ cd $HOME/.pki/nssdb
$ certutil -N -d sql:.
$ curl -k -o "cacert-root.crt" "http://www.cacert.org/certs/root.crt"
$ curl -k -o "cacert-class3.crt" "http://www.cacert.org/certs/class3.crt"
$ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "CAcert.org" -i cacert-root.crt 
$ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "CAcert.org Class 3" -i cacert-class3.crt
注意: 如果数据库不存在,用户需要为其创建一个密码。

现在用户可以手动导入自签名证书。

示例 1:使用 shell 脚本从 TomatoUSB 中提取证书

下面是一个简单的脚本,它将提取证书并将其添加到用户的 nssdb

#!/bin/sh
#
# usage:  import-cert.sh remote.host.name [port]
#
REMHOST=$1
REMPORT=${2:-443}
exec 6>&1
exec > $REMHOST
echo | openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p'
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n "$REMHOST" -i $REMHOST 
exec 1>&6 6>&-

语法在注释行中说明。

参考

示例 2:使用 Firefox 从 TomatoUSB 中提取证书

firefox 浏览器可用于将证书保存到文件,以便手动导入到数据库中。

使用 firefox

  1. 浏览到目标 URL。
  2. 看到“此连接不受信任”警告屏幕后,点击:我了解风险 > 添加例外...
  3. 点击:查看 > 详细信息 > 导出 并将证书保存到临时位置(在本例中为 /tmp/easy.pem)。

现在导入证书以在 Chromium 中使用

$ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "easy" -i /tmp/easy.pem
注意: 调整名称以与证书的名称匹配。 在上面的示例中,“easy”是证书的名称。

参考

Canvas 指纹识别

Canvas 指纹识别是一种技术,它允许网站通过检测渲染到 HTML5 canvas 时的差异来识别用户。 可以通过使用 --disable-reading-from-canvas 标志来使此信息无法访问。

要确认这是否有效,请运行 此测试 并确保“canvas 指纹哈希值”在完整结果中报告为“未确定”。

注意
  • 某些扩展程序需要从 canvas 读取数据,并且设置 --disable-reading-from-canvas 可能会导致它们无法正常工作。
  • YouTube 播放器或 Google 地图在没有 canvas 读取的情况下无法正常工作(参见 Qutebrowser issue 5345, BBS#255958, BBS#276425)。

隐私扩展程序

请参阅 Browser extensions#Privacy

提示: 安装过多的扩展程序可能会占用工具栏中的大量空间。 对于那些您无论如何都不会与之交互的扩展程序,可以通过右键单击扩展程序并选择在 Chromium 菜单中隐藏来隐藏它们。

请勿跟踪

要启用请勿跟踪,请访问 chrome://settings,向下滚动到高级,然后在隐私和安全下,勾选发送“请勿跟踪”请求以及您的浏览流量

强制密码存储

Chromium 使用密码存储来存储您的密码和 Chromium Safe Storage 密钥,该密钥用于加密 cookie 值。 [14]

默认情况下,Chromium 会自动检测要使用的密码存储,这可能会导致您在切换到另一个桌面环境或窗口管理器时,看似丢失了密码和 cookie。

您可以通过使用 --password-store 标志以及以下值之一启动 Chromium,来强制其使用特定的密码存储 [15]

  • gnome-libsecret,通过 libsecret 使用 Gnome Keyring
  • kwallet5,使用 KDE Wallet 5
  • kwallet6,使用 KDE Wallet 6
  • basic,将密码和 cookie 的加密密钥以纯文本形式保存在 Login Data 文件中
  • detect,默认的自动检测行为

例如,要在另一个桌面或 WM 中强制 Chromium 使用 Gnome Keyring,请使用 --password-store=gnome-libsecret,有关使其永久生效的信息,请参阅 #Making flags persistent

当使用另一个桌面环境的密码存储时,您可能还希望自动解锁它。 请参阅 GNOME/Keyring#Using the keyringKDE Wallet#Unlock KDE Wallet automatically on login

启用混合后量子密钥交换

自版本 155 [16] 起,Chromium 支持 TLS 1.3 的混合后量子密钥交换 X25519Kyber768。 此功能默认禁用,但可以使用 chrome://flags/#enable-tls13-kyber 标志启用。

故障排除

字体

注意: 由于其沙箱机制,Chromium 没有完全集成 fontconfig/GTK/Pango/X 等。 有关更多信息,请参阅 Linux Technical FAQ

标签页字体大小过大

Chromium 将使用 GTK#Configuration 中描述的 GTK 设置。 配置后,Chromium 将对标签页使用 gtk-font-name 设置(这可能与窗口字体大小不匹配)。 要覆盖这些设置,请使用 --force-device-scale-factor=1.0

自 Chrome Refresh 2023 成为默认设置以来,使用 Cantarell 字体的 GNOME 用户可能会注意到某些字符(如小写字母 g)在标签页标题中被截断。 请参阅 chromium.org 上的 issue

在问题解决之前,一种解决方法是使用基于 Font configuration#Set default or fallback fonts 的配置将 Cantarell 替换为另一种字体,例如

~/.config/fontconfig/conf.d/10-chromium-font.conf
<match target="pattern">
    <test name="prgname" compare="eq">
        <string>chromium</string>
    </test>
    <test qual="any" name="family">
         <string>Cantarell</string>
    </test>
    <edit name="family" mode="assign" binding="strong">
        <string>Ubuntu</string>
    </edit>
</match>

此配置仅在进程名称与 chromium 匹配时才适用。 您可以将 chrome 用于 Google Chrome。

WebGL

您的显卡可能已被 Chromium 列入黑名单。 请参阅 #Force GPU acceleration

如果您将 Chromium 与 Bumblebee 一起使用,WebGL 可能会因 GPU 沙箱而崩溃。 在这种情况下,您可以使用 optirun chromium --disable-gpu-sandbox 禁用 GPU 沙箱。

访问 chrome://gpu/ 以获取有关 WebGL 支持的调试信息。

Chromium 可能会在您的用户配置文件中保存有关您的 GPU 的不正确数据(例如,如果您在使用 Optimus 的 Nvidia 显卡和 Intel 显卡之间切换,即使您没有使用它或 primusrun/optirun,它也会在 chrome://gpu 中显示 Nvidia 显卡)。 使用不同的用户目录运行,例如 chromium --user-data-dir=$(mktemp -d) 可能会解决此问题。 对于持久的解决方案,您可以通过删除 ~/.config/chromium/Local\ State 来重置 GPU 信息。

HiDPI 渲染不正确

Chromium 将自动为 HiDPI 显示器进行缩放,但是,这可能会导致 GUI 渲染不正确。

标志 --force-device-scale-factor=1 可用于覆盖自动缩放因子。

启用原生 Wayland 支持后,Chromium 将根据每个显示器配置的缩放比例自动缩放。

每次使用 GNOME Keyring 启动时都提示输入密码

请参阅 GNOME/Keyring#Passwords are not remembered

除了密码之外,一切都在同步

如果仅密码同步不起作用(您可以在 chrome://sync-internals/ 上检查),请删除配置文件登录数据

$ rm ~/.config/chromium/Default/Login\ Data*

有关详细信息,请参阅 Google Chrome 帮助论坛

在桌面环境之间切换时丢失 cookie 和密码

如果在启动 Chromium 时在终端中看到消息 Failed to decrypt token for service AccountId-*,则它可能尝试使用错误的密码存储后端。 这可能会在您在桌面环境之间切换时发生。

请参阅 #Force a password store

启用 Google 同步时启动时挂起

尝试使用 --password-store=basic 或另一个合适的密码存储启动 Chrome。

请参阅 #Force a password store

Chromium 每次启动时都要求设置为默认浏览器

如果您正在使用 KDE 并且曾经将 Firefox 设置为默认浏览器(通过单击 Firefox 内部的按钮),您可能会发现 Chromium 每次启动时都要求设置为默认浏览器,即使您单击“设置为默认”按钮。

Chromium 通过运行 xdg-settings check default-web-browser chromium.desktop 来检查此状态。 如果输出为“no”,则它不认为自己是默认浏览器。 脚本 xdg-settings 检查以下 MIME 关联,并期望所有关联均为 chromium.desktop

x-scheme-handler/http
x-scheme-handler/https
text/html

要修复此问题,请转到系统设置 > 应用程序 > 默认应用程序 > Web 浏览器 并选择 Chromium。 然后,设置 text/html 的 MIME 关联

$ xdg-mime default chromium.desktop text/html

最后,更新 MIME 数据库

$ update-mime-database ~/.local/share/mime

登录 Google 时出现“此浏览器或应用可能不安全”错误

截至 2020.04.20,如果您使用 --remote-debugging-port=9222 标志运行 chromium 进行 Web 开发,则您无法登录您的 Google 帐户。 暂时禁用此标志以登录,然后您可以重新启用它。

尽管使用了具有更高刷新率的显示器,但 Chromium 仍以 60 FPS 渲染

有关一般问题的上游错误报告(可能包含一些额外的解决方法)可以在 此处 找到,而有关混合刷新率的姊妹问题可以在 此处 找到。

混合刷新率

提示: 此问题可能在 Wayland 后端不存在,需要测试。

当使用具有混合刷新率的显示器(例如 60Hz 和 144Hz)时,Chromium 可能会为较低 Hz 的显示器渲染。

对于此问题,有一个合适的解决方法,请将以下标志附加持久配置

~/.config/chromium-flags.conf
--use-gl=egl
--ignore-gpu-blocklist
--enable-gpu-rasterization

这应该能让 Chromium 在 144Hz 显示器上以 144 FPS 的帧率运行,前提是你的合成器也以 144 FPS 的帧率刷新。请注意,由于 FS#67035,它可能会有点卡顿,但这比卡在 60 FPS 要好得多。

在 Wayland 后端运行

似乎存在 Wayland 合成器特定的问题会触发此问题。值得注意的是,Plasma 5 似乎始终只以 60Hz 渲染,无论设置如何,但 Plasma 6(在撰写本文时为 rc1)使 Chromium 在高刷新率下完美运行。

如果其他方法都失败了,可以尝试切换到 XWayland 后端作为一种变通方法。

Chromium 滚动速度慢

在 Chromium 和基于 Electron 的应用程序中,鼠标滚轮滚动可能太慢,不适合日常使用。以下是一些解决方案。

Libinput#鼠标滚轮滚动速度缩放 在 libinput 中注入 libinput_event_pointer_get_axis_value 函数,并提供一个界面来更改缩放因子。这不是应用程序级别的注入,因此需要一个额外的脚本来针对应用程序特定地调整缩放因子。请注意,当缩放因子足够大时,在 Chromium 的小高度开发者工具上的滚动可能太快。

IMWheel 通过多次重放 X 滚轮按钮事件来增加滚动距离。但是,Chromium 将真实的滚动和重放的滚动视为两个事件。它们之间存在很小但明显的延迟,因此一次鼠标滚轮滚动会导致页面跳转两次。此外,触摸板滚动需要额外注意。

Linux Scroll Speed FixSmoothScroll 是两个 Chromium 扩展程序,支持修改滚动距离。在网页中滚动滚轮时,将找到当前焦点节点的最近的可滚动祖先,然后在其上调用具有给定像素距离的滚动方法,即使它已滚动到底部。因此,一旦你滚动到文本编辑器或任何可滚动元素中,除非移动鼠标,否则你永远无法滚动出去。此外,基于扩展程序的方法不能在 Chromium 之外使用。

视频加载但无法播放

本文或本节已过时。

原因: 链接的章节指出 Chromium 不受影响。(在 Talk:Chromium 中讨论)

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

由于数据库损坏,密码未保存

存储的密码数据库可能会损坏,需要重建。这样做会销毁其中的所有数据/丢失存储的密码。

从终端启动 Chromium 并查找如下输出

[472531:472565:1207/055404.688559:ERROR:login_database.cc(1048)] Password decryption failed, encryption_result is 2

退出 Chromium,然后删除这三个数据库文件: ~/.config/chromium/Default/Login Data*

再次启动 Chromium 应该会重新创建它们。

在 KDE Wayland 上光标不正确

请参阅 KDE#Plasma 光标有时显示不正确

Wayland 下 Chromium 窗口透明

由于一个 bug,chromium 124 必须使用显式命令行标志 --ozone-platform=wayland 启动。

Wayland 硬件加速缓冲区句柄为空错误

由于一个 bug,当从终端启动时,你可能会在日志中看到以下内容,尤其是在 Wayland 上启用硬件加速的情况下

[333310:333425:0919/121130.103852:ERROR:gpu_channel.cc(502)] Buffer Handle is null.
[333341:18:0919/121130.104000:ERROR:shared_image_interface_proxy.cc(134)] Buffer handle is null. Not creating a mailbox from it.
[333310:333425:0919/121130.137149:ERROR:gbm_pixmap_wayland.cc(82)] Cannot create bo with format= YUV_420_BIPLANAR and usage=SCANOUT_CPU_READ_WRITE

目前的解决方法是添加此标志

~/.config/chromium-flags.conf
--disable-gpu-memory-buffer-video-frames

另请参阅