浏览器故障排除(Linux)
问题:“Failed to start Chrome CDP on port 18800”
OpenClaw 的浏览器控制服务器无法启动 Chrome/Brave/Edge/Chromium,报错如下:根本原因
在 Ubuntu(以及许多 Linux 发行版)上,默认的 Chromium 安装是一个 snap 包。Snap 的 AppArmor 沙箱限制会干扰 OpenClaw 生成和监控浏览器进程的方式。apt install chromium 命令安装的是一个重定向到 snap 的占位包:
方案 1:安装 Google Chrome(推荐)
安装官方的 Google Chrome.deb 包,它不受 snap 沙箱限制:
~/.openclaw/openclaw.json):
方案 2:使用 Snap Chromium 的仅附加模式
如果你必须使用 snap Chromium,请配置 OpenClaw 附加到手动启动的浏览器:- 更新配置:
- 手动启动 Chromium:
- 可选创建一个 systemd 用户服务来自动启动 Chrome:
systemctl --user enable --now openclaw-browser.service
验证浏览器是否正常工作
检查状态:配置参考
| 选项 | 描述 | 默认值 |
|---|---|---|
browser.enabled | 启用浏览器控制 | true |
browser.executablePath | Chromium 系浏览器二进制文件路径(Chrome/Brave/Edge/Chromium) | 自动检测(当默认浏览器为 Chromium 系时优先使用) |
browser.headless | 无界面运行 | false |
browser.noSandbox | 添加 --no-sandbox 标志(某些 Linux 环境需要) | false |
browser.attachOnly | 不启动浏览器,仅附加到现有实例 | false |
browser.cdpPort | Chrome DevTools Protocol 端口 | 18800 |
问题:“Chrome extension relay is running, but no tab is connected”
你正在使用chrome 配置文件(扩展中继)。它需要 OpenClaw
浏览器扩展附加到一个活动标签页。
修复方案:
- 使用托管浏览器:
openclaw browser start --browser-profile openclaw(或设置browser.defaultProfile: "openclaw")。 - 使用扩展中继: 安装扩展,打开一个标签页,然后点击 OpenClaw 扩展图标进行附加。
chrome配置文件会尽可能使用你的系统默认 Chromium 浏览器。- 本地
openclaw配置文件会自动分配cdpPort/cdpUrl;仅在远程 CDP 时需要手动设置。