浏览器故障排除(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:安装谷歌 Chrome(推荐)
安装官方的 Google Chrome.deb 包,它不是通过 snap 进行沙箱限制的:
~/.openclaw/openclaw.json):
解决方案 2:使用 Snap Chromium 的仅附加模式
如果必须使用 snap Chromium,配置 OpenClaw 以附加到手动启动的浏览器:- 更新配置:
- 手动启动 Chromium:
- 可选地创建 systemd 用户服务自动启动 Chrome:
验证浏览器是否正常工作
查看状态:配置参考
| 选项 | 描述 | 默认值 |
|---|---|---|
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 协议端口 | 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 需要自行设置。