Problema: no se pudo iniciar Chrome CDP en el puerto 18800
Causa raíz
En Ubuntu y la mayoría de las distribuciones Linux,apt install chromium instala un envoltorio snap, no un navegador real:
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 reintenta una vez cuando el bloqueo apunta a un proceso muerto o de otro host.Missing X server or $DISPLAY: se solicitó explícitamente un navegador visible en un host sin una sesión de escritorio. Los perfiles administrados locales recurren al modo sin interfaz en Linux cuando tantoDISPLAYcomoWAYLAND_DISPLAYno están definidos. Si configurasOPENCLAW_BROWSER_HEADLESS=0,browser.headless: falseobrowser.profiles.<name>.headless: false, elimina esa anulación con interfaz, configuraOPENCLAW_BROWSER_HEADLESS=1, iniciaXvfb, ejecutaopenclaw browser start --headlesspara un inicio administrado único, o ejecuta OpenClaw en una sesión de escritorio real.
Solución 1: instalar Google Chrome (recomendado)
~/.openclaw/openclaw.json:
Solución 2: usar Chromium snap en modo de solo adjuntar
Si debes conservar Chromium snap, configura OpenClaw para adjuntarse a un navegador iniciado manualmente en lugar de iniciarlo:Verificar que el navegador funciona
Referencia de configuración
| Opción | Descripción | Valor predeterminado |
|---|---|---|
browser.enabled | Habilitar el control del navegador | true |
browser.executablePath | Ruta a un binario de navegador basado en Chromium (Chrome/Brave/Edge/Chromium) | detectado automáticamente (prefiere el navegador predeterminado del SO cuando está basado en Chromium) |
browser.headless | Ejecutar sin interfaz gráfica | false |
OPENCLAW_BROWSER_HEADLESS | Anulación por proceso para el modo sin interfaz del navegador administrado local | sin definir |
browser.noSandbox | Añadir la marca --no-sandbox (necesaria para algunas configuraciones de Linux) | false |
browser.attachOnly | No iniciar un navegador; solo adjuntarse a uno existente | false |
browser.cdpPortRangeStart | Puerto CDP local inicial para perfiles asignados automáticamente | 18800 (derivado del puerto del Gateway) |
browser.localLaunchTimeoutMs | Tiempo de espera de descubrimiento de Chrome administrado local, hasta 120000 | 15000 |
browser.localCdpReadyTimeoutMs | Tiempo de espera de preparación de CDP posterior al inicio administrado local, hasta 120000 | 8000 |
120000 ms; otros valores se rechazan al cargar la configuración. En Raspberry Pi, hosts VPS antiguos o almacenamiento lento, aumenta browser.localLaunchTimeoutMs cuando Chrome necesita más tiempo para exponer su endpoint HTTP CDP. Aumenta browser.localCdpReadyTimeoutMs cuando el inicio se realiza correctamente pero openclaw browser start aún informa not reachable after start.
Problema: no se encontraron pestañas de Chrome para el perfil=“user”
Estás usando el perfiluser (existing-session / Chrome MCP) y no hay pestañas abiertas a las que adjuntarse.
Opciones de corrección:
- Usa el navegador administrado en su lugar:
openclaw browser --browser-profile openclaw start(o configurabrowser.defaultProfile: "openclaw"). - Mantén Chrome local en ejecución con al menos una pestaña abierta y luego reintenta con
--browser-profile user.
useres solo para el host. En servidores Linux, contenedores o hosts remotos, prefiere perfiles CDP.usery otros perfilesexisting-sessioncomparten los límites actuales de Chrome MCP: solo acciones basadas en referencias, un archivo por carga, sin anulaciones detimeoutMspara diálogos, sinwait --load networkidle, y sinresponsebody, exportación a PDF, interceptación de descargas ni acciones por lotes.- Los perfiles de controlador
openclawlocales asignan automáticamentecdpPort/cdpUrl; configúralos manualmente solo para CDP remoto. - Los perfiles CDP remotos aceptan
http://,https://,ws://ywss://. Usa HTTP(S) para el descubrimiento de/json/version, o WS(S) cuando tu servicio de navegador te proporcione una URL directa de socket DevTools.