Solución de Problemas de Navegador
Solucionar problemas de inicio CDP de Chrome/Brave/Edge/Chromium para control de navegador OpenClaw en Linux
Problema: "Failed to start Chrome CDP on port 18800"
El servidor de control de navegador de OpenClaw falla al lanzar Chrome/Brave/Edge/Chromium con el error:
{"error":"Error: Failed to start Chrome CDP on port 18800 for profile "openclaw"."}Causa Raíz
En Ubuntu (y muchas distribuciones Linux), la instalación predeterminada de Chromium es un paquete snap. El confinamiento AppArmor de Snap interfiere con cómo OpenClaw genera y monitorea el proceso del navegador.
El comando ''apt install chromium'' instala un paquete stub que redirige a snap:
Note, selecting 'chromium-browser' instead of 'chromium' chromium-browser is already the newest version (2:1snap1-0ubuntu2).
Esto NO es un navegador real — es solo un wrapper.
Solución 1: Instalar Google Chrome (Recomendado)
Instala el paquete ''.deb'' oficial de Google Chrome, que no está en sandbox por 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 # if there are dependency errors
Luego actualiza tu configuración de OpenClaw (''~/.openclaw/openclaw.json''):
{
"browser": {
"enabled": true,
"executablePath": "/usr/bin/google-chrome-stable",
"headless": true,
"noSandbox": true
}
}Solución 2: Usar Snap Chromium con Modo Solo-Adjuntar
Si debes usar snap Chromium, configura OpenClaw para adjuntarse a un navegador iniciado manualmente:
1. Actualiza configuración:
{
"browser": {
"enabled": true,
"attachOnly": true,
"headless": true,
"noSandbox": true
}
}2. Inicia Chromium manualmente:
chromium-browser --headless --no-sandbox --disable-gpu --remote-debugging-port=18800 --user-data-dir=$HOME/.openclaw/browser/openclaw/user-data about:blank &
3. Opcionalmente crea un servicio de usuario systemd para auto-iniciar Chrome:
[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
Habilita con: ''systemctl --user enable --now openclaw-browser.service''
Verificando que el Navegador Funciona
Verificar estado:
curl -s http://127.0.0.1:18791/ | jq '{running, pid, chosenBrowser}'Probar navegación:
curl -s -X POST http://127.0.0.1:18791/start curl -s http://127.0.0.1:18791/tabs
Referencia de Configuración
| Opción | Descripción | Predeterminado |
| | -- | ----- |
| ''browser.enabled'' | Habilitar control de navegador | ''true'' |
| ''browser.executablePath'' | Ruta al binario de navegador basado en Chromium (Chrome/Brave/Edge/Chromium) | auto-detectado (prefiere navegador predeterminado cuando es basado en Chromium) |
| ''browser.headless'' | Ejecutar sin GUI | ''false'' |
| ''browser.noSandbox'' | Agregar flag ''--no-sandbox'' (necesario para algunas configuraciones Linux) | ''false'' |
| ''browser.attachOnly'' | No lanzar navegador, solo adjuntar a existente | ''false'' |
| ''browser.cdpPort'' | Puerto del Protocolo Chrome DevTools | ''18800'' |
Problema: "Chrome extension relay is running, but no tab is connected"
Estás usando el perfil ''chrome'' (relay de extensión). Espera que la extensión de navegador OpenClaw esté adjunta a una pestaña activa.
Opciones de solución:
1. ''Usar el navegador gestionado:'' ''openclaw browser start --browser-profile openclaw''
(o establece ''browser.defaultProfile: "openclaw"'').
2. Usar el relay de extensión: instala la extensión, abre una pestaña, y haz clic en el ícono de extensión OpenClaw para adjuntarla.
Notas:
- El perfil ''chrome'' usa tu ''navegador Chromium predeterminado del sistema'' cuando es posible.
- Los perfiles ''openclaw'' locales auto-asignan ''cdpPort''/''cdpUrl''; solo establece esos para CDP remoto.