Tools
Solución de problemas del navegador
Problema: no se pudo iniciar Chrome CDP en el puerto 18800
{ "error": "Error: No se pudo iniciar Chrome CDP en el puerto 18800 para el perfil \"openclaw\"." }Causa raíz
En Ubuntu y la mayoría de las distribuciones de Linux, apt install chromium instala un envoltorio de snap,
no un navegador real:
Nota: se selecciona 'chromium-browser' en lugar de 'chromium'chromium-browser ya es la versión más reciente (2:1snap1-0ubuntu2).El confinamiento de AppArmor de snap interfiere en la forma en que OpenClaw inicia y supervisa el proceso del navegador.
Otros fallos habituales de inicio en Linux:
The profile appears to be in use by another Chromium process: archivos de bloqueoSingleton*obsoletos en el directorio del perfil administrado. OpenClaw elimina estos bloqueos y vuelve a intentarlo una vez cuando el bloqueo apunta a un proceso inactivo o de otro host.Missing X server or $DISPLAY: se solicitó explícitamente un navegador visible en un host sin sesión de escritorio. Los perfiles locales administrados usan de forma alternativa el modo sin interfaz gráfica en Linux cuandoDISPLAYyWAYLAND_DISPLAYno están definidos. Si se ha definidoOPENCLAW_BROWSER_HEADLESS=0,browser.headless: falseobrowser.profiles.<name>.headless: false, elimine esa configuración que fuerza el modo con interfaz gráfica, definaOPENCLAW_BROWSER_HEADLESS=1, inicieXvfb, ejecuteopenclaw browser start --headlesspara realizar un inicio administrado único, o ejecute OpenClaw en una sesión de escritorio real.
Solución 1: instalar Google Chrome (recomendado)
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.debsudo dpkg -i google-chrome-stable_current_amd64.debsudo apt --fix-broken install -y # si hay errores de dependenciasActualice ~/.openclaw/openclaw.json:
{ "browser": { "enabled": true, "executablePath": "/usr/bin/google-chrome-stable", "headless": true, "noSandbox": true }}Solución 2: usar Chromium de snap en modo de solo conexión
Si debe conservar Chromium de snap, configure OpenClaw para que se conecte a un navegador iniciado manualmente en lugar de iniciarlo:
{ "browser": { "enabled": true, "attachOnly": true, "headless": true, "noSandbox": true }}Inicie Chromium manualmente:
chromium-browser --headless --no-sandbox --disable-gpu \ --remote-debugging-port=18800 \ --user-data-dir=$HOME/.openclaw/browser/openclaw/user-data \ about:blank &Opcionalmente, configúrelo para que se inicie automáticamente con un servicio de usuario de systemd:
# ~/.config/systemd/user/openclaw-browser.service[Unit]Description=Navegador de OpenClaw (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:blankRestart=on-failureRestartSec=5 [Install]WantedBy=default.targetsystemctl --user enable --now openclaw-browser.serviceVerificar que el navegador funciona
curl -s http://127.0.0.1:18791/ | jq '{running, pid, chosenBrowser}'curl -s -X POST http://127.0.0.1:18791/startcurl -s http://127.0.0.1:18791/tabsReferencia de configuración
| Opción | Descripción | Valor predeterminado |
|---|---|---|
browser.enabled |
Habilitar el control del navegador | true |
browser.executablePath |
Ruta al ejecutable de un navegador basado en Chromium (Chrome/Brave/Edge/Chromium) | detección automática (se prefiere el navegador predeterminado del SO si está basado en Chromium) |
browser.headless |
Ejecutar sin interfaz gráfica | false |
OPENCLAW_BROWSER_HEADLESS |
Configuración por proceso que prevalece sobre el modo sin interfaz gráfica del navegador local administrado | sin definir |
browser.noSandbox |
Añadir el indicador --no-sandbox (necesario para algunas configuraciones de Linux) |
false |
browser.attachOnly |
No iniciar un navegador; conectarse únicamente a uno existente | false |
En Raspberry Pi, hosts VPS antiguos o almacenamiento lento, use un navegador iniciado
manualmente con attachOnly cuando Chrome necesite más tiempo para exponer su endpoint HTTP de CDP
o estar listo del que permite el plazo límite del navegador administrado.
Problema: no se encontraron pestañas de Chrome para profile="user"
Se está usando el perfil user (existing-session / Chrome MCP) y no hay
pestañas abiertas a las que conectarse.
Opciones para solucionarlo:
- Use en su lugar el navegador administrado:
openclaw browser --browser-profile openclaw start(o definabrowser.defaultProfile: "openclaw"). - Mantenga Chrome local en ejecución con al menos una pestaña abierta y vuelva a intentarlo con
--browser-profile user.
Notas:
usersolo funciona en el host. En servidores Linux, contenedores o hosts remotos, se recomienda usar perfiles CDP.usery otros perfilesexisting-sessioncomparten las limitaciones actuales de Chrome MCP: solo acciones basadas en referencias, un archivo por carga, sin sustituciones detimeoutMsen cuadros de diálogo, sinwait --load networkidley sinresponsebody, exportación a PDF, interceptación de descargas ni acciones por lotes.- Los perfiles locales del controlador
openclawasignan automáticamentecdpPort/cdpUrl; establézcalos manualmente solo para CDP remoto. - Los perfiles CDP remotos aceptan
http://,https://,ws://ywss://. Use HTTP(S) para la detección de/json/version, o WS(S) cuando el servicio del navegador proporcione una URL directa del socket de DevTools.