Chuyển đến nội dung chính

Sự cố: Không thể khởi động Chrome CDP trên cổng 18800

Nguyên nhân gốc

Trên Ubuntu và hầu hết các bản phân phối Linux, apt install chromium cài đặt một trình bao bọc snap, không phải trình duyệt thực:
Cơ chế cách ly AppArmor của Snap gây trở ngại cho cách OpenClaw khởi chạy và giám sát tiến trình trình duyệt. Các lỗi khởi chạy Linux phổ biến khác:
  • The profile appears to be in use by another Chromium process: các tệp khóa Singleton* cũ trong thư mục hồ sơ được quản lý. OpenClaw xóa các khóa này và thử lại một lần khi khóa trỏ đến một tiến trình đã dừng hoặc trên máy chủ khác.
  • Missing X server or $DISPLAY: trình duyệt hiển thị đã được yêu cầu rõ ràng trên máy chủ không có phiên máy tính để bàn. Các hồ sơ cục bộ được quản lý sẽ chuyển sang chế độ không giao diện trên Linux khi cả DISPLAYWAYLAND_DISPLAY đều chưa được đặt. Nếu đã đặt OPENCLAW_BROWSER_HEADLESS=0, browser.headless: false hoặc browser.profiles.<name>.headless: false, hãy xóa tùy chọn ghi đè có giao diện đó, đặt OPENCLAW_BROWSER_HEADLESS=1, khởi động Xvfb, chạy openclaw browser start --headless để khởi chạy được quản lý một lần, hoặc chạy OpenClaw trong một phiên máy tính để bàn thực.

Giải pháp 1: cài đặt Google Chrome (khuyến nghị)

Cập nhật ~/.openclaw/openclaw.json:

Giải pháp 2: sử dụng Chromium snap ở chế độ chỉ đính kèm

Nếu phải tiếp tục sử dụng Chromium snap, hãy cấu hình OpenClaw đính kèm vào một trình duyệt được khởi động thủ công thay vì tự khởi chạy trình duyệt:
Khởi động Chromium thủ công:
Có thể tùy chọn tự động khởi động bằng dịch vụ người dùng systemd:

Xác minh trình duyệt hoạt động

Tham chiếu cấu hình

Trên Raspberry Pi, các máy chủ VPS cũ hoặc bộ nhớ lưu trữ chậm, hãy sử dụng trình duyệt được khởi chạy thủ công với attachOnly khi Chrome cần nhiều thời gian hơn để công khai điểm cuối HTTP CDP hoặc sẵn sàng so với thời hạn của trình duyệt được quản lý.

Sự cố: Không tìm thấy thẻ Chrome nào cho profile=“user”

Bạn đang sử dụng hồ sơ user (existing-session / Chrome MCP) và không có thẻ nào đang mở để đính kèm. Các cách khắc phục:
  1. Thay vào đó, sử dụng trình duyệt được quản lý: openclaw browser --browser-profile openclaw start (hoặc đặt browser.defaultProfile: "openclaw").
  2. Duy trì Chrome cục bộ chạy với ít nhất một thẻ đang mở, sau đó thử lại với --browser-profile user.
Lưu ý:
  • user chỉ hoạt động trên máy chủ cục bộ. Trên máy chủ Linux, vùng chứa hoặc máy chủ từ xa, nên ưu tiên hồ sơ CDP.
  • user và các hồ sơ existing-session khác có chung các giới hạn Chrome MCP hiện tại: chỉ hỗ trợ thao tác dựa trên tham chiếu, mỗi lần tải lên một tệp, không ghi đè timeoutMs của hộp thoại, không có wait --load networkidle, và không có responsebody, xuất PDF, chặn tải xuống hoặc thao tác hàng loạt.
  • Các hồ sơ trình điều khiển openclaw cục bộ tự động gán cdpPort/cdpUrl; chỉ đặt các giá trị đó theo cách thủ công cho CDP từ xa.
  • Các hồ sơ CDP từ xa chấp nhận http://, https://, ws://wss://. Sử dụng HTTP(S) để khám phá /json/version, hoặc WS(S) khi dịch vụ trình duyệt cung cấp URL socket DevTools trực tiếp.

Liên quan