浏览器排查(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 profile(扩展中继)。它期望 OpenClaw 浏览器扩展附加到一个正在运行的标签页。
修复方式:
- 使用托管浏览器:
openclaw browser start --browser-profile openclaw(或设置browser.defaultProfile: "openclaw")。 - 使用扩展中继:安装扩展,打开一个标签页,并点击 OpenClaw 扩展图标进行附加。
chromeprofile 尽可能使用你的 系统默认 Chromium 浏览器。- 本地
openclawprofile 会自动分配cdpPort/cdpUrl;只有在远程 CDP 时才需要手动设置。