Устранение проблем с браузером (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-пакетом. Изоляция AppArmor в snap мешает тому, как 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:
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 # если есть ошибки зависимостей
Затем обновите ваш конфиг OpenClaw (~/.openclaw/openclaw.json):
{
"browser": {
"enabled": true,
"executablePath": "/usr/bin/google-chrome-stable",
"headless": true,
"noSandbox": true
}
}
Решение 2: Используйте Snap Chromium с режимом только подключения
Если вы должны использовать snap Chromium, настройте OpenClaw на подключение к вручную запущенному браузеру:
- Обновите конфиг:
{
"browser": {
"enabled": true,
"attachOnly": true,
"headless": true,
"noSandbox": true
}
}
- Запустите Chromium вручную:
chromium-browser --headless --no-sandbox --disable-gpu \
--remote-debugging-port=18800 \
--user-data-dir=$HOME/.openclaw/browser/openclaw/user-data \
about:blank &
- Опционально создайте пользовательский сервис systemd для автоматического запуска Chrome:
# ~/.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
Проверка работы браузера
Проверьте статус:
curl -s http://127.0.0.1:18791/ | jq '{running, pid, chosenBrowser}'
Тестирование просмотра:
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 | Запуск без графического интерфейса | 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.