Skip to main content

Problema: no se pudo iniciar Chrome CDP en el puerto 18800

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:
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 bloqueo Singleton* 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 cuando DISPLAY y WAYLAND_DISPLAY no están definidos. Si se ha definido OPENCLAW_BROWSER_HEADLESS=0, browser.headless: false o browser.profiles.<name>.headless: false, elimine esa configuración que fuerza el modo con interfaz gráfica, defina OPENCLAW_BROWSER_HEADLESS=1, inicie Xvfb, ejecute openclaw browser start --headless para realizar un inicio administrado único, o ejecute OpenClaw en una sesión de escritorio real.

Solución 1: instalar Google Chrome (recomendado)

Actualice ~/.openclaw/openclaw.json:

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:
Inicie Chromium manualmente:
Opcionalmente, configúrelo para que se inicie automáticamente con un servicio de usuario de systemd:

Verificar que el navegador funciona

Referencia de configuración

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:
  1. Use en su lugar el navegador administrado: openclaw browser --browser-profile openclaw start (o defina browser.defaultProfile: "openclaw").
  2. Mantenga Chrome local en ejecución con al menos una pestaña abierta y vuelva a intentarlo con --browser-profile user.
Notas:
  • user solo funciona en el host. En servidores Linux, contenedores o hosts remotos, se recomienda usar perfiles CDP.
  • user y otros perfiles existing-session comparten las limitaciones actuales de Chrome MCP: solo acciones basadas en referencias, un archivo por carga, sin sustituciones de timeoutMs en cuadros de diálogo, sin wait --load networkidle y sin responsebody, exportación a PDF, interceptación de descargas ni acciones por lotes.
  • Los perfiles locales del controlador openclaw asignan automáticamente cdpPort/cdpUrl; establézcalos manualmente solo para CDP remoto.
  • Los perfiles CDP remotos aceptan http://, https://, ws:// y wss://. 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.

Contenido relacionado