问题现象
使用未经 Google 官方签名的 Chromium 构建版本(如 ungoogled-chromium、社区编译版等),每次启动时浏览器顶部或地址栏下方会出现黄色提示条:
缺少 Google API 密钥,因此 Chromium 的部分功能将无法使用。
这个提示不影响正常浏览,但很碍眼。根本原因是 Chromium 编译时没有嵌入 Google 的 API 密钥(用于调用 Google 账号登录、同步、地理位置等 Google 服务)。
解决方案
通过设置三个环境变量,告诉 Chromium “不需要这些密钥”,即可消除提示。
Windows
在 CMD(管理员) 中执行:
setx GOOGLE_API_KEY "no"
setx GOOGLE_DEFAULT_CLIENT_ID "no"
setx GOOGLE_DEFAULT_CLIENT_SECRET "no"
setx 会写入用户级环境变量,重启 Chromium 后生效。
如果使用 PowerShell,可以用:
[Environment]::SetEnvironmentVariable("GOOGLE_API_KEY", "no", "User")
[Environment]::SetEnvironmentVariable("GOOGLE_DEFAULT_CLIENT_ID", "no", "User")
[Environment]::SetEnvironmentVariable("GOOGLE_DEFAULT_CLIENT_SECRET", "no", "User")
Linux
编辑 ~/.bashrc 或 ~/.profile,追加:
export GOOGLE_API_KEY="no"
export GOOGLE_DEFAULT_CLIENT_ID="no"
export GOOGLE_DEFAULT_CLIENT_SECRET="no"
立即生效:
source ~/.bashrc
如果使用 Wayland 或通过 .desktop 文件 启动 Chromium,也可以在启动命令中直接传入:
chromium-browser \
--google-api-key="no" \
--google-default-client-id="no" \
--google-default-client-secret="no"
或者在 .desktop 文件的 Exec 行追加这些参数:
Exec=chromium-browser --google-api-key="no" --google-default-client-id="no" --google-default-client-secret="no" %U
原理说明
Chromium 源码中,以下三个常量用于调用 Google API:
| 环境变量 | 用途 |
|---|---|
GOOGLE_API_KEY |
Google API 调用密钥(地图、翻译、Safe Browsing 等) |
GOOGLE_DEFAULT_CLIENT_ID |
OAuth 客户端 ID(账号登录) |
GOOGLE_DEFAULT_CLIENT_SECRET |
OAuth 客户端密钥(账号登录) |
官方 Chrome 在编译时内置了这些值。社区版 Chromium 没有,因此启动时检测到为空就会弹出警告。
设置为 "no" 后,Chromium 内部判断为"用户明确不需要",跳过警告。
副作用
设置后,以下功能会不可用(但大多数用户在国内也用不了):
- ❌ Google 账号登录 / 同步
- ❌ Google Safe Browsing(安全浏览)
- ❌ Google 地理位置服务
- ❌ Chrome Web Store 登录
- ✅ 正常浏览不受任何影响
如果你需要使用这些功能(例如登录 Chrome 同步书签),可以申请自己的免费 API 密钥(仅限非商用),参考 Chromium Dev Docs。
Professional English Terms
| Term | Meaning |
|---|---|
| API Key | API 密钥,用于服务调用的身份凭证 |
| OAuth Client ID / Secret | OAuth 客户端标识与密钥,用于第三方授权登录 |
| Ungoogled Chromium | 去 Google 依赖的 Chromium 发行版 |
| Safe Browsing | Google 安全浏览服务(恶意网站检测) |
| Environment Variable | 环境变量,操作系统级别的键值对配置 |