ブラウザトラブルシューティング
Linux での OpenClaw ブラウザ制御における Chrome/Brave/Edge/Chromium CDP 起動問題の修正
Problem: "Failed to start Chrome CDP on port 18800"
OpenClaw のブラウザ制御サーバーが Chrome/Brave/Edge/Chromium の起動に失敗し、エラーが表示されます:
{"error":"Error: Failed to start Chrome CDP on port 18800 for profile "openclaw"."}Root Cause
Ubuntu(および多くの Linux ディストリビューション)では、デフォルトの Chromium インストールはsnap パッケージです。Snap の AppArmor 制限が、OpenClaw がブラウザプロセスを生成・監視する方法に干渉します。
''apt install chromium'' コマンドは snap にリダイレクトするスタブパッケージをインストールします:
Note, selecting 'chromium-browser' instead of 'chromium' chromium-browser is already the newest version (2:1snap1-0ubuntu2).
これは実際のブラウザではありません—単なるラッパーです。
解決策 1:Google Chrome をインストール(推奨)
snap によるサンドボックス化されていない公式 Google Chrome ''.deb'' パッケージをインストール:
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
その後、OpenClaw 設定(''~/.openclaw/openclaw.json'')を更新:
{
"browser": {
"enabled": true,
"executablePath": "/usr/bin/google-chrome-stable",
"headless": true,
"noSandbox": true
}
}解決策 2:Snap Chromium をアタッチ専用モードで使用
snap Chromium を使用する必要がある場合、手動で起動したブラウザにアタッチするよう OpenClaw を設定:
1. 設定を更新:
{
"browser": {
"enabled": true,
"attachOnly": true,
"headless": true,
"noSandbox": true
}
}2. Chromium を手動で起動:
chromium-browser --headless --no-sandbox --disable-gpu --remote-debugging-port=18800 --user-data-dir=$HOME/.openclaw/browser/openclaw/user-data about:blank &
3. オプション:Chrome を自動起動する systemd ユーザーサービスを作成:
[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
Enable with: ''systemctl --user enable --now openclaw-browser.service''
ブラウザが動作しているか確認
ステータス確認:
curl -s http://127.0.0.1:18791/ | jq '{running, pid, chosenBrowser}'ブラウジングテスト:
curl -s -X POST http://127.0.0.1:18791/start curl -s http://127.0.0.1:18791/tabs
設定リファレンス
| オプション | 説明 | デフォルト |
| | -- | ----- |
| ''browser.enabled'' | ブラウザ制御を有効化 | ''true'' |
| ''browser.executablePath'' | Chromium ベースのブラウザバイナリへのパス (Chrome/Brave/Edge/Chromium) | 自動検出(Chromium ベースのデフォルトブラウザを優先) |
| ''browser.headless'' | GUI なしで実行 | ''false'' |
| ''browser.noSandbox'' | ''--no-sandbox'' フラグを追加(一部の Linux 設定で必要) | ''false'' |
| ''browser.attachOnly'' | ブラウザを起動せず、既存のものにアタッチのみ | ''false'' |
| ''browser.cdpPort'' | Chrome DevTools Protocol ポート | ''18800'' |
Problem: "Chrome extension relay is running, but no tab is connected"
''chrome'' プロファイル(拡張リレー)を使用しています。これは OpenClaw ブラウザ拡張がアクティブなタブにアタッチされていることを期待します。
修正オプション:
1. ''管理ブラウザを使用:''''openclaw browser start --browser-profile openclaw''
(または ''browser.defaultProfile: "openclaw"'' を設定)。
2. 拡張リレーを使用:拡張をインストールし、タブを開き、OpenClaw 拡張アイコンをクリックしてアタッチ。
Notes:
- ''chrome'' プロファイルは可能な場合''システムデフォルトの Chromium ブラウザ''を使用します。
- ローカル ''openclaw'' プロファイルは自動的に ''cdpPort''/''cdpUrl'' を割り当てます;リモート CDP の場合のみ設定してください。