Google Chrome 无法检测到 Fedora 36 中 Gnome 的系统暗色主题

Google Chrome 无法检测到 Fedora 36 中 Gnome 的系统暗色主题

我使用的是 Fedora 36,它具有默认的 Gnome 桌面环境。我在 Gnome 设置 -> 外观(不是 gnome 调整)中启用了深色主题。当我打开 Firefox 时,它会自动检测我的系统为深色,当我在 Firefox 中转到谷歌搜索时,它正确地显示为深色。我甚至没有登录。

但是,当我使用 Google Chrome 时,它​​无法正确检测系统主题。当我使用 Google 搜索时,它仍然显示为白色。我需要手动执行什么操作才能使 Google Chrome 和 Firefox 一样正常工作?

编辑同样的事情也发生在 Debian 11 中。Firefox 可以完美地自动检测暗模式的设备主题;而 Chrome 却不行。

答案1

我认为它尚未实现与新 Gnome API 配合使用。您可以使用临时解决方法,我编写了 shell 脚本文件(使用 sudo 运行):

sed -i 's/^Exec=\/usr\/bin\/google-chrome-stable$/& --enable-features=WebUIDarkMode --force-dark-mode/' /usr/share/applications/google-chrome.desktop
sed -i 's/%U/--enable-features=WebUIDarkMode --force-dark-mode &/' /usr/share/applications/google-chrome.desktop

针对 Chromium 用户进行编辑:

sed -i 's/^Exec=\/usr\/bin\/google-chrome-stable$/& --enable-features=WebUIDarkMode --force-dark-mode/' /usr/share/applications/chromium-browser.desktop
sed -i 's/%U/--enable-features=WebUIDarkMode --force-dark-mode &/' /usr/share/applications/chromium-browser.desktop

答案2

显然这是Chromium 中的一个已知错误

问题 998903:深色 Gtk 主题不影响 prefers-color-scheme 媒体查询,即使 NativeThemeGtk 的 UI 实例呈现深色 UI,仍然匹配“浅色”。

答案3

对于解决方法,请添加~/.config/chrome-flags.conf

--enable-features=WebUIDarkMode,CSSColorSchemeUARendering
--force-dark-mode

这将强制仅对 Chrome 的设置页面使用暗模式。

答案4

如果您想根据您的 gnome 主题设置自动使用暗/亮模式,那么您可以运行以下命令。

google-chrome-stable $(echo $(gsettings get org.gnome.desktop.interface color-scheme) $(gsettings get org.gnome.desktop.interface gtk-theme) | grep -vq dark || echo --enable-features=WebUIDarkMode --force-dark-mode)

或者如果你使用铬...

chromium $(echo $(gsettings get org.gnome.desktop.interface color-scheme) $(gsettings get org.gnome.desktop.interface gtk-theme) | grep -vq dark || echo --enable-features=WebUIDarkMode --force-dark-mode)

相关内容