Files
Moltbot/docs/zh-CN/tools/browser-linux-troubleshooting.md
Josh Palmer a3ec2d0734 Docs: update zh-CN translations and pipeline
What:
- update zh-CN glossary, TM, and translator prompt
- regenerate zh-CN docs and apply targeted fixes
- add zh-CN AGENTS pipeline guidance

Why:
- address terminology/spacing feedback from #6995

Tests:
- pnpm build && pnpm check && pnpm test
2026-02-03 13:23:00 -08:00

145 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
read_when: Browser control fails on Linux, especially with snap Chromium
summary: 修复 Linux 上 OpenClaw 浏览器控制的 Chrome/Brave/Edge/Chromium CDP 启动问题
title: 浏览器故障排除
x-i18n:
generated_at: "2026-02-03T07:55:07Z"
model: claude-opus-4-5
provider: pi
source_hash: bac2301022511a0bf8ebe1309606cc03e8a979ff74866c894f89d280ca3e514e
source_path: tools/browser-linux-troubleshooting.md
workflow: 15
---
# 浏览器故障排除Linux
## 问题:"Failed to start Chrome CDP on port 18800"
OpenClaw 的浏览器控制服务器无法启动 Chrome/Brave/Edge/Chromium出现以下错误
```
{"error":"Error: Failed to start Chrome CDP on port 18800 for profile \"openclaw\"."}
```
### 根本原因
在 Ubuntu和许多 Linux 发行版)上,默认的 Chromium 安装是 **snap 包**。Snap 的 AppArmor 限制会干扰 OpenClaw 启动和监控浏览器进程的方式。
`apt install chromium` 命令安装的是一个重定向到 snap 的存根包:
```
Note, selecting 'chromium-browser' instead of 'chromium'
chromium-browser is already the newest version (2:1snap1-0ubuntu2).
```
这不是真正的浏览器——它只是一个包装器。
### 解决方案 1安装 Google Chrome推荐
安装官方 Google Chrome `.deb` 包,它不受 snap 沙箱限制:
```bash
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt --fix-broken install -y # if there are dependency errors
```
然后更新你的 OpenClaw 配置(`~/.openclaw/openclaw.json`
```json
{
"browser": {
"enabled": true,
"executablePath": "/usr/bin/google-chrome-stable",
"headless": true,
"noSandbox": true
}
}
```
### 解决方案 2使用 Snap Chromium 的仅附加模式
如果你必须使用 snap Chromium配置 OpenClaw 附加到手动启动的浏览器:
1. 更新配置:
```json
{
"browser": {
"enabled": true,
"attachOnly": true,
"headless": true,
"noSandbox": true
}
}
```
2. 手动启动 Chromium
```bash
chromium-browser --headless --no-sandbox --disable-gpu \
--remote-debugging-port=18800 \
--user-data-dir=$HOME/.openclaw/browser/openclaw/user-data \
about:blank &
```
3. 可选创建 systemd 用户服务以自动启动 Chrome
```ini
# ~/.config/systemd/user/openclaw-browser.service
[Unit]
Description=OpenClaw Browser (Chrome CDP)
After=network.target
[Service]
ExecStart=/snap/bin/chromium --headless --no-sandbox --disable-gpu --remote-debugging-port=18800 --user-data-dir=%h/.openclaw/browser/openclaw/user-data about:blank
Restart=on-failure
RestartSec=5
[Install]
WantedBy=default.target
```
启用:`systemctl --user enable --now openclaw-browser.service`
### 验证浏览器是否工作
检查状态:
```bash
curl -s http://127.0.0.1:18791/ | jq '{running, pid, chosenBrowser}'
```
测试浏览:
```bash
curl -s -X POST http://127.0.0.1:18791/start
curl -s http://127.0.0.1:18791/tabs
```
### 配置参考
| 选项 | 描述 | 默认值 |
| ------------------------ | ------------------------------------------------------------- | ------------------------------------------------ |
| `browser.enabled` | 启用浏览器控制 | `true` |
| `browser.executablePath` | Chromium 系浏览器二进制文件路径Chrome/Brave/Edge/Chromium | 自动检测(当默认浏览器是 Chromium 系时优先使用) |
| `browser.headless` | 无 GUI 运行 | `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 浏览器扩展附加到一个活动标签页。
修复选项:
1. **使用托管浏览器:** `openclaw browser start --browser-profile openclaw`
(或设置 `browser.defaultProfile: "openclaw"`)。
2. **使用扩展中继:** 安装扩展,打开一个标签页,然后点击 OpenClaw 扩展图标来附加它。
注意事项:
- `chrome` 配置文件在可能时使用你的**系统默认 Chromium 浏览器**。
- 本地 `openclaw` 配置文件自动分配 `cdpPort`/`cdpUrl`;仅为远程 CDP 设置这些。