Skip to main content

Problème : échec du démarrage de Chrome CDP sur le port 18800

Cause première

Sur Ubuntu et la plupart des distributions Linux, apt install chromium installe un lanceur snap, et non un véritable navigateur :
Le confinement AppArmor de snap interfère avec la façon dont OpenClaw lance et surveille le processus du navigateur. Autres échecs de lancement courants sous Linux :
  • The profile appears to be in use by another Chromium process : fichiers de verrouillage Singleton* obsolètes dans le répertoire du profil géré. OpenClaw supprime ces verrous et réessaie une fois lorsque le verrou pointe vers un processus arrêté ou exécuté sur un autre hôte.
  • Missing X server or $DISPLAY : un navigateur visible a été explicitement demandé sur un hôte dépourvu de session de bureau. Sous Linux, les profils locaux gérés basculent en mode sans interface graphique lorsque DISPLAY et WAYLAND_DISPLAY ne sont pas définis. Si vous avez défini OPENCLAW_BROWSER_HEADLESS=0, browser.headless: false ou browser.profiles.<name>.headless: false, supprimez ce forçage du mode avec interface, définissez OPENCLAW_BROWSER_HEADLESS=1, démarrez Xvfb, exécutez openclaw browser start --headless pour un lancement géré ponctuel, ou exécutez OpenClaw dans une véritable session de bureau.

Solution 1 : installer Google Chrome (recommandé)

Mettez à jour ~/.openclaw/openclaw.json :

Solution 2 : utiliser Chromium snap en mode connexion uniquement

Si vous devez conserver Chromium snap, configurez OpenClaw pour qu’il se connecte à un navigateur démarré manuellement au lieu de le lancer :
Démarrez Chromium manuellement :
Vous pouvez également le démarrer automatiquement avec un service utilisateur systemd :

Vérifier le fonctionnement du navigateur

Référence de configuration

Les deux délais doivent être des entiers positifs inférieurs ou égaux à 120000 ms ; toute autre valeur est rejetée lors du chargement de la configuration. Sur Raspberry Pi, les anciens hôtes VPS ou les stockages lents, augmentez browser.localLaunchTimeoutMs lorsque Chrome a besoin de plus de temps pour exposer son point de terminaison HTTP CDP. Augmentez browser.localCdpReadyTimeoutMs lorsque le lancement réussit, mais que openclaw browser start signale toujours not reachable after start.

Problème : aucun onglet Chrome trouvé pour profile=“user”

Vous utilisez le profil user (existing-session / Chrome MCP) et aucun onglet ouvert n’est disponible pour la connexion. Solutions possibles :
  1. Utilisez plutôt le navigateur géré : openclaw browser --browser-profile openclaw start (ou définissez browser.defaultProfile: "openclaw").
  2. Laissez Chrome local s’exécuter avec au moins un onglet ouvert, puis réessayez avec --browser-profile user.
Remarques :
  • user est réservé à l’hôte. Sur les serveurs Linux, dans les conteneurs ou sur les hôtes distants, privilégiez plutôt les profils CDP.
  • user et les autres profils existing-session partagent les limitations actuelles de Chrome MCP : uniquement les actions basées sur des références, un fichier par téléversement, aucun remplacement de timeoutMs pour les boîtes de dialogue, aucune commande wait --load networkidle, et aucune action responsebody, exportation PDF, interception des téléchargements ou action par lots.
  • Les profils locaux du pilote openclaw attribuent automatiquement cdpPort/cdpUrl ; ne les définissez manuellement que pour un CDP distant.
  • Les profils CDP distants acceptent http://, https://, ws:// et wss://. Utilisez HTTP(S) pour la détection via /json/version, ou WS(S) lorsque votre service de navigateur vous fournit directement l’URL d’un socket DevTools.

Pages connexes