Chromium
Chromium 是一个基于 Blink 渲染引擎的开源图形网页浏览器。 它是专有的 Google Chrome 浏览器的基础。
请参阅此页面,了解 Chromium 和 Google Chrome 之间差异的说明。 此外
- Sync 在 Chromium 89+ (2021-03-02) 中不可用 [1]
考虑切换到 xbrowsersync 以进行书签同步作为长期解决方案。
请参阅 List of applications/Internet#Blink-based 以了解其他基于 Chromium 的浏览器。
安装
有几个软件包可用于安装 Chromium
- chromium — 稳定版本;
- chromium-devAUR — 开发版本;
- chromium-snapshot-binAUR — 每夜构建版本。
Google Chrome 软件包
- google-chromeAUR — 稳定版本;
- google-chrome-betaAUR — Beta 版本;
- google-chrome-devAUR — 开发版本。
- google-chrome-canaryAUR — Canary 版本。
配置
默认应用程序
要将 Chromium 设置为默认浏览器并更改 Chromium 在打开下载文件时启动的应用程序,请参阅默认应用程序。
证书
Chromium 使用 网络安全服务 进行证书管理。 可以在 chrome://settings/certificates
中管理证书。
使标志持久化
chromium-flags.conf
文件和随附的自定义启动器脚本特定于各种 Chromium 软件包。 对于 Google Chrome,请改用 chrome-flags.conf
(或 Dev 和 Beta 频道的 chrome-channel-flags.conf
)。您可以将标志放在 $HOME/.config/
(或在您配置了该环境变量的情况下放在 $XDG_CONFIG_HOME
下)或 /etc/
下的 chromium-flags.conf
文件中,以进行全局设置。
不使用特殊语法; 标志的定义方式就像它们是在终端中编写的一样。
- 参数在空格处拆分,并应用 shell 引用规则,但不执行进一步的解析。
- 如果文件中任何位置存在不正确的引用,则会引发致命错误。
- 标志可以放在单独的行中以提高可读性,但这不是必需的。
- 以井号 (#) 开头的行将被跳过。(仅 Chromium 启动器脚本支持此功能,并且在使用 Google Chrome 时不起作用。)
以下是示例 chromium-flags.conf
文件,该文件定义了标志 --start-maximized --incognito
~/.config/chromium-flags.conf
# This line will be ignored. --start-maximized --incognito
强制 GPU 加速
自 Chromium 110 起,大多数系统默认启用 GPU 加速。 如果您的系统配置与阻止列表匹配,您可能需要将以下标志附加到持久配置
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
中找到正确的标志组合时,请注意此文件应最多包含一行以 --enable-features
和 --disable-features
开头的行。 多个功能必须用逗号连接。如果您已通过检查 vainfo
的输出来确认 VA-API 支持正常工作(请参阅 硬件视频加速#验证 VA-API),您可以首先尝试以下单独标志
~/.config/chromium-flags.conf
--enable-features=AcceleratedVideoDecodeLinuxGL
--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
无需上述任何附加标志。
提示和技巧
要检查它是否工作,请播放一个使用您的 VA-API 驱动程序支持的编解码器的视频(vainfo 会告诉您支持哪些编解码器,但 Chromium 仅支持 VP9 和 h264)
- 按
Ctrl+Shift+I
或在上下文(右键单击)菜单的检查按钮上打开 DevTools - 添加媒体检查选项卡:汉堡菜单 > 更多工具 > 媒体
- 在新打开的媒体选项卡中,查看视频解码器的硬件解码器状态
在一个足够大的视频上进行测试。 从版本 86 开始,桌面版 Chromium 将仅加速大于 720p 的视频。
为了减少观看 YouTube 时 CPU 的使用率(VP8/VP9 硬件解码不可用时),请使用 h264ify、enhanced-h264ify 或 Not yet, AV1[7] 扩展程序。
在某些系统上(尤其是在 Xwayland 上),您可能需要#强制启用 GPU 加速。 仅 --ignore-gpu-blocklist
就足以满足我们的目的。
您可能需要禁用 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
原生 Wayland 支持
自 97 版本起,可以使用以下标志启用 Chromium 中的原生 Wayland 支持 [8]
--ozone-platform-hint=auto
如果这不起作用,例如在 Weston 下的版本 106 上,则使用
--ozone-platform=wayland
有关永久配置,请参阅#使标志持久化。 该标志也可通过浏览器标志菜单获得。
这将在 wayland 会话中选择 wayland Ozone 后端,因此如果您经常在 X11 和 Wayland 之间切换,则可以使用单个桌面条目。
此外,如果您在输入法方面遇到问题,您可能还需要强制使用较新的 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 覆盖/重写 Preferences 文件
如果您启用了与 Google 帐户的同步,则 Chromium 将覆盖对 ~/.config/chromium/Default/Preferences
下找到的 Preferences 文件的任何直接编辑。 要解决此问题,请使用 --disable-sync-preferences
开关启动 Chromium
$ chromium --disable-sync-preferences
如果 Chromium 在您登录桌面环境时在后台启动,请确保您的桌面环境使用的命令是
$ chromium --disable-sync-preferences --no-startup-window
搜索引擎
使诸如 wiki.archlinux.org 和 wikipedia.org 之类的站点易于搜索,方法是首先在这些页面上执行搜索,然后转到设置 > 搜索并单击管理搜索引擎..按钮。 从那里,“编辑” Wikipedia 条目并将其关键字更改为 w(或您喜欢的其他快捷方式)。 现在,只需输入“w arch linux”即可从地址栏搜索 Wikipedia 中关于 “Arch Linux” 的内容。
Tmpfs
tmpfs 中的缓存
要限制 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 文件和磁力链接
默认情况下,Chromium 直接下载 *.torrent
文件,您需要单击屏幕左下角的通知,以便使用您的默认 torrent 客户端打开该文件。 可以使用以下方法避免这种情况
- 下载
*.torrent
文件。 - 右键单击屏幕左下角显示的通知。
- 选中“始终打开此类型的文件”复选框。
请参阅 xdg-open 以更改默认关联。
触摸屏设备上的触摸滚动
您可能需要指定要使用的触摸设备。 使用 xinput list
查找您的触摸屏设备,然后使用 --touch-devices=x
参数启动 Chromium,其中 “x” 是您设备的 ID。
减少内存使用量
默认情况下,Chromium 为每个访问网站的实例使用单独的 OS 进程。 [10] 但是,您可以在启动 Chromium 时指定命令行开关来修改此行为。
例如,要为网站的所有实例共享一个进程
$ chromium --process-per-site
要使用单进程模型
$ chromium --single-process
此外,您可以使用诸如 Tab Suspender 和 OneTab 之类的扩展程序来挂起或存储非活动选项卡。
用户代理
可以在 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
...其中 0x8086
和 0x1912
替换为您想要使用的 GPU 的 ID(如 chrome://gpu
页面上所示)。
从 Firefox 导入书签
为了方便过渡,您可以将书签从 Firefox 导入到 Chromium 中。
在 Chromium 中导航至 chrome://settings/importData
如果您的计算机上已安装 Firefox,您可以直接从 Firefox 导入书签以及许多其他内容。
确保已选中 Mozilla Firefox。 (可选)您可以取消选中此处某些不需要的项目。单击 导入,然后单击 完成。这样就完成了。
如果要从另一台 PC 导入书签,您必须先从 Firefox 导出书签。
Ctrl+Shift+o
导入和备份 > 将书签导出为 HTML 在 Firefox 中。
过程几乎相同。您需要转到 chrome://settings/importData
。但是,这一次,在 从 下拉菜单中,选择 书签 HTML 文件,然后单击 选择文件 按钮并上传所需的书签文件。
启用原生通知
转到 chrome://flags#enable-system-notifications
并选择 Enabled(已启用)。
启用鼠标中键自动滚动
自动滚动仍然是一项实验性功能 [12]。如果 Chromium 或基于 Chromium 的浏览器不是开发版本且在 Linux 环境中运行,则默认情况下会禁用此功能。[13]
要启用此功能,请使用 --enable-features=MiddleClickAutoscroll
标记启动浏览器。如果您想使该选项持久化,请参阅 #使标记持久化。
- 虽然设置
--enable-blink-features
的工作方式与仅键入--enable-features
相同,但浏览器可能会显示警告,声明这是一个不受支持的标记,并且“稳定性和安全性将受到影响”。 - 作为替代方案,您可以从 Chrome 网上应用店添加一个扩展程序,例如 WHEELY,它具有类似的行为。
U2F 身份验证
安装 libfido2 库。这提供了启用用户访问 U2F 密钥所需的 udev 规则。默认情况下,U2F 密钥只能由 root 访问,如果没有这些规则,Chromium 将会报错。
主题
您可以使 Chromium 将您当前的 GTK 主题用于浏览器菜单和控件。只需在 chrome://settings/appearance
中按 使用 GTK 即可。
深色模式
自 Chromium 114 起,XDG Desktop Portal 用于自动确定用户的首选外观(问题),从而将深色模式的启用与用户的 GTK 主题分离。此首选项将应用于 CSS、JavaScript、设置和开发者工具中的 prefers-color-scheme。
更改首选外观的方式取决于您的 XDG Desktop Portal 后端。例如,许多桌面环境在其外观设置中都有一个开关。或者,当使用例如 xdg-desktop-portal-gtk 时,使用以下命令将首选模式设置为 prefer-light
、prefer-dark
或 default
:
$ 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
启用侧边栏。您可以启用或禁用 侧边栏,并更改诸如 侧边栏边框 和 侧边栏拖放 等选项。
配置文件维护
Chromium 使用 SQLite 数据库来管理历史记录等。 Sqlite 数据库随着时间的推移会变得碎片化,并且到处都会出现空白空间。但是,由于没有管理进程检查和优化数据库,这些因素最终会导致性能下降。改善启动速度和一些其他与书签和历史记录相关的任务的一个好方法是从这些数据库中碎片整理和修剪未使用的空间。
profile-cleaner 和 browser-vacuumAUR 正是做这件事的。
安全
禁用 JIT
以降低性能为代价,您可以禁用 JavaScript 到本地代码的即时编译,这导致了 JS 引擎中大约一半的安全漏洞,使用标记 --js-flags=--jitless
。
WebRTC
WebRTC 是一种依赖于 JavaScript 的通信协议,它可以从 VPN 后面泄露用户的真实 IP 地址和硬件哈希。虽然某些软件可能会阻止泄露脚本的运行,但直接阻止此协议可能也是一个好主意,以策安全。截至 2016 年 10 月,在桌面版 Chromium 上没有办法禁用 WebRTC,但有一些扩展程序可以禁用本地 IP 地址泄露,其中一个是这个扩展程序。
可以通过 https://browserleaks.com/webrtc 测试 WebRTC。
SSL 证书
Chromium 没有 SSL 证书管理器。它依赖于 NSS 共享数据库 ~/.pki/nssdb
。为了将 SSL 证书添加到数据库,用户将不得不使用 shell。
为自签名证书添加 CAcert 证书
获取 CAcerts 并创建一个 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>&-
语法在注释行中声明。
参考资料
- https://web.archive.org/web/20180718193807/https://blog.avirtualhome.com/adding-ssl-certificates-to-google-chrome-linux-ubuntu
- https://chromium.googlesource.com/chromium/src/+/master/docs/linux/cert_management.md
示例 2:使用 Firefox 从 TomatoUSB 中隔离证书
可以使用 firefox 浏览器将证书保存到文件中,以便手动导入到数据库中。
使用 firefox
- 浏览到目标 URL。
- 在看到“此连接不安全”警告屏幕后,单击:我了解风险 > 添加例外...
- 单击:查看 > 详细信息 > 导出,并将证书保存到临时位置(在本例中为
/tmp/easy.pem
)。
现在导入证书以在 Chromium 中使用
$ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "easy" -i /tmp/easy.pem
参考资料
Canvas 指纹识别
Canvas 指纹识别是一种技术,它允许网站通过检测渲染到 HTML5 画布时的差异来识别用户。通过使用 --disable-reading-from-canvas
标记,可以使此信息无法访问。
要确认这是否有效,请运行 此测试,并确保“画布指纹哈希”在完整结果中报告为未确定。
- 某些扩展程序需要从画布读取,并且可能会因设置
--disable-reading-from-canvas
而损坏。 - 如果没有画布读取,YouTube 播放器或 Google 地图无法正常工作(请参阅 Qutebrowser 问题 5345、BBS#255958、BBS#276425)。
隐私扩展程序
请参阅 浏览器扩展程序#隐私。
请勿追踪
要启用 请勿追踪,请访问 chrome://settings
,向下滚动到 高级,然后在 隐私和安全 下,选中 发送“请勿追踪”请求以及您的浏览流量。
强制密码存储
Chromium 使用密码存储来存储您的密码和 Chromium Safe Storage 密钥,该密钥用于加密 cookie 值。[14]
默认情况下,Chromium 会自动检测要使用的密码存储,这可能会导致您在切换到另一个桌面环境或窗口管理器时明显丢失密码和 cookie。
您可以使用 --password-store
标记以及以下值之一启动 Chromium,从而强制 Chromium 使用特定的密码存储 [15]
gnome-libsecret
,使用 Gnome Keyring 通过 libsecret。kwallet5
,使用 KDE Wallet 5kwallet6
,使用 KDE Wallet 6basic
,将密码和 cookie 的加密密钥以纯文本形式保存在文件Login Data
中detect
,默认的自动检测行为
例如,要在另一个桌面或 WM 中强制 Chromium 使用 Gnome Keyring,请使用 --password-store=gnome-libsecret
,有关使其永久化的信息,请参阅 #使标记持久化。
当使用另一个桌面环境的密码存储时,您可能还希望自动解锁它。请参阅 GNOME/Keyring#使用密钥环 和 KDE Wallet#在登录时自动解锁 KDE 钱包。
启用混合后量子密钥交换
自 155 版本 [16] 以来,Chromium 支持 TLS 1.3 的混合后量子密钥交换 X25519Kyber768。此功能默认禁用,但可以使用 chrome://flags/#enable-tls13-kyber
标记启用。
故障排除
字体
标签页字体大小过大
Chromium 将使用 GTK#配置 中描述的 GTK 设置。配置后,Chromium 将对标签页使用 gtk-font-name
设置(这可能与窗口字体大小不匹配)。要覆盖这些设置,请使用 --force-device-scale-factor=1.0
。
自从 Chrome Refresh 2023 成为默认设置后,使用 Cantarell 字体的 GNOME 用户可能会注意到某些字符(例如小写字母 g)在标签页标题中被截断。请参阅 chromium.org 上的问题。
在问题解决之前,一种解决方法是使用基于 字体配置#设置默认或回退字体 的配置将 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
匹配时应用。您可以对 Google Chrome 使用 chrome
。
WebGL
您的显卡有可能已被 Chromium 列入黑名单。请参阅 #强制 GPU 加速。
如果您将 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#密码未记住。
除密码外,一切都在同步
如果仅密码的同步不起作用(您可以在 chrome://sync-internals/
上检查),请删除配置文件登录数据
$ rm ~/.config/chromium/Default/Login\ Data*
有关详细信息,请参阅 Google Chrome 帮助论坛。
在桌面环境之间切换时丢失 Cookie 和密码
如果您在启动 Chromium 时在终端中看到消息 Failed to decrypt token for service AccountId-*
,则可能是它尝试使用错误的密码存储后端。当您在桌面环境之间切换时,可能会发生这种情况。
请参阅 #强制使用密码存储。
启用 Google 同步时启动时挂起
尝试使用 --password-store=basic
或其他合适的密码存储启动 Chrome。
请参阅 #强制使用密码存储。
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 渲染,尽管使用了更高刷新率的显示器
有关可能包含一些其他变通方法的常见问题的上游错误报告可以在此处找到,而有关混合刷新率的姊妹问题可以在此处找到。
混合刷新率
当使用具有混合刷新率(例如 60Hz 和 144Hz)的显示器时,Chromium 可能会为较低 Hz 的显示器渲染。
~/.config/chromium-flags.conf
--use-gl=egl --ignore-gpu-blocklist --enable-gpu-rasterization
假设您的合成器也以 144 FPS 刷新,这应该使 Chromium 在 144Hz 显示器上使用时以 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 Fix 和 SmoothScroll 是两个支持滚动距离修改的 chromium 扩展程序。在网页中进行滚轮滚动时,将找到当前焦点节点的最近的可滚动祖先,然后在其上调用具有给定像素距离的滚动方法,即使它已滚动到底部。因此,一旦您滚动到文本编辑器或任何可滚动元素中,您就永远无法滚动出来,除非移动鼠标。此外,基于扩展的方法不能在 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 窗口是透明的
由于一个 错误,chromium 124 必须使用显式命令行标志 --ozone-platform=wayland
启动。
Wayland 硬件加速缓冲区句柄为空错误
由于一个 错误,您可能会在从终端启动时在日志中看到以下内容,尤其是在 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
另请参阅
- Chromium 首页
- Google Chrome 发行说明
- Chrome 网上应用店
- Chromium 和 Google Chrome 之间的差异
- Chromium 命令行开关列表
- Profile-sync-daemon - Systemd 服务,将 Chromium 配置文件保存在 tmpfs 中并同步到磁盘
- Tmpfs -
/etc/fstab
中的 Tmpfs 文件系统 - 官方 tmpfs 内核文档