Проблема: «Не удалось запустить Chrome CDP на порту 18800»
Сервер управления браузером OpenClaw не может запустить Chrome/Brave/Edge/Chromium с ошибкой:Первопричина
В Ubuntu (и многих дистрибутивах Linux) стандартная установка Chromium представляет собой snap-пакет. Ограничения AppArmor в Snap мешают тому, как OpenClaw запускает и отслеживает процесс браузера. Командаapt install chromium устанавливает пакет-заглушку, который перенаправляет на snap:
The profile appears to be in use by another Chromium processозначает, что Chrome нашел устаревшие lock-файлыSingleton*в управляемом каталоге профиля. OpenClaw удаляет эти блокировки и повторяет попытку один раз, если блокировка указывает на мертвый процесс или процесс на другом хосте.Missing X server or $DISPLAYозначает, что видимый браузер был явно запрошен на хосте без desktop-сеанса. По умолчанию локальные управляемые профили теперь переключаются в headless-режим в Linux, когдаDISPLAYиWAYLAND_DISPLAYоба не заданы. Если вы задалиOPENCLAW_BROWSER_HEADLESS=0,browser.headless: falseилиbrowser.profiles.<name>.headless: false, удалите это переопределение headed-режима, задайтеOPENCLAW_BROWSER_HEADLESS=1, запуститеXvfb, выполнитеopenclaw browser start --headlessдля разового управляемого запуска или запустите OpenClaw в настоящем desktop-сеансе.
Решение 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 | Запускать без GUI | false |
OPENCLAW_BROWSER_HEADLESS | Переопределение для процесса для headless-режима локального управляемого браузера | не задано |
browser.noSandbox | Добавить флаг --no-sandbox (нужно для некоторых конфигураций Linux) | false |
browser.attachOnly | Не запускать браузер, только подключаться к существующему | false |
browser.cdpPort | Порт Chrome DevTools Protocol | 18800 |
browser.localLaunchTimeoutMs | Тайм-аут обнаружения локального управляемого Chrome | 15000 |
browser.localCdpReadyTimeoutMs | Тайм-аут готовности CDP после запуска локального управляемого браузера | 8000 |
browser.localLaunchTimeoutMs, когда Chrome требуется больше времени, чтобы открыть свой HTTP endpoint CDP.
Увеличьте browser.localCdpReadyTimeoutMs, когда запуск проходит успешно, но
openclaw browser start все еще сообщает not reachable after start. Значения должны
быть положительными целыми числами до 120000 мс; недопустимые значения конфигурации отклоняются.
Проблема: «В профиле profile=“user” не найдены вкладки Chrome»
Вы используете профильexisting-session / Chrome MCP. OpenClaw видит локальный Chrome,
но нет открытых вкладок, доступных для подключения.
Варианты исправления:
- Используйте управляемый браузер:
openclaw browser start --browser-profile openclaw(или задайтеbrowser.defaultProfile: "openclaw"). - Используйте Chrome MCP: убедитесь, что локальный Chrome запущен хотя бы с одной открытой вкладкой, затем повторите попытку с
--browser-profile user.
userработает только на хосте. Для Linux-серверов, контейнеров или удаленных хостов предпочитайте CDP-профили.- Профили
user/ другие профилиexisting-sessionсохраняют текущие ограничения Chrome MCP: действия на основе ref, хуки загрузки одного файла, без переопределения тайм-аутов диалогов, безwait --load networkidle, а также безresponsebody, экспорта PDF, перехвата загрузок или пакетных действий. - Локальные профили
openclawавтоматически назначаютcdpPort/cdpUrl; задавайте их только для удаленного CDP. - Удаленные CDP-профили принимают
http://,https://,ws://иwss://. Используйте HTTP(S) для обнаружения/json/versionили WS(S), когда ваш браузерный сервис предоставляет прямой URL сокета DevTools.