ในหน้านี้
ในหน้านี้
Tools
การแก้ไขปัญหาเบราว์เซอร์
ปัญหา: ไม่สามารถเริ่ม Chrome CDP บนพอร์ต 18800
สาเหตุหลัก
บน Ubuntu และ Linux ดิสโทรส่วนใหญ่ apt install chromium จะติดตั้งตัวครอบ snap
ไม่ใช่เบราว์เซอร์จริง:
การจำกัดสิทธิ์ด้วย AppArmor ของ Snap รบกวนวิธีที่ OpenClaw เริ่มและตรวจสอบ โปรเซสของเบราว์เซอร์
ความล้มเหลวในการเริ่มทำงานอื่นๆ ที่พบบ่อยบน Linux:
The profile appears to be in use by another Chromium process: ไฟล์ล็อกSingleton*ที่ค้างอยู่ในไดเรกทอรีโปรไฟล์ที่มีการจัดการ OpenClaw จะลบ ล็อกเหล่านี้และลองอีกครั้งหนึ่งครั้ง เมื่อล็อกชี้ไปยังโปรเซสที่หยุดทำงานแล้วหรือ โปรเซสบนโฮสต์อื่นMissing X server or $DISPLAY: มีการร้องขอเบราว์เซอร์แบบแสดงหน้าต่างอย่างชัดเจน บนโฮสต์ที่ไม่มีเซสชันเดสก์ท็อป โปรไฟล์ภายในเครื่องที่มีการจัดการจะกลับไปใช้ โหมด headless บน Linux เมื่อไม่ได้ตั้งค่าทั้งDISPLAYและWAYLAND_DISPLAYหากตั้งค่าOPENCLAW_BROWSER_HEADLESS=0,browser.headless: falseหรือbrowser.profiles.<name>.headless: falseให้ลบการบังคับใช้โหมดแสดงหน้าต่างดังกล่าว ตั้งค่าOPENCLAW_BROWSER_HEADLESS=1เริ่มXvfbเรียกใช้openclaw browser start --headlessเพื่อเริ่มเบราว์เซอร์ที่มีการจัดการแบบครั้งเดียว หรือเรียกใช้ OpenClaw ในเซสชันเดสก์ท็อปจริง
วิธีแก้ไขที่ 1: ติดตั้ง Google Chrome (แนะนำ)
อัปเดต ~/.openclaw/openclaw.json:
วิธีแก้ไขที่ 2: ใช้ snap Chromium ในโหมดแนบอย่างเดียว
หากจำเป็นต้องใช้ snap Chromium ต่อไป ให้กำหนดค่า OpenClaw ให้แนบกับ เบราว์เซอร์ที่เริ่มด้วยตนเองแทนการเริ่มเบราว์เซอร์เอง:
เริ่ม Chromium ด้วยตนเอง:
หรือกำหนดให้เริ่มโดยอัตโนมัติด้วยบริการผู้ใช้ systemd:
ตรวจสอบว่าเบราว์เซอร์ทำงานได้
ข้อมูลอ้างอิงการกำหนดค่า
| ตัวเลือก | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
browser.enabled |
เปิดใช้การควบคุมเบราว์เซอร์ | true |
browser.executablePath |
พาธไปยังไบนารีของเบราว์เซอร์ที่ใช้ Chromium (Chrome/Brave/Edge/Chromium) | ตรวจหาโดยอัตโนมัติ (เลือกเบราว์เซอร์เริ่มต้นของระบบปฏิบัติการก่อน หากใช้ Chromium) |
browser.headless |
ทำงานโดยไม่มี GUI | false |
OPENCLAW_BROWSER_HEADLESS |
การบังคับใช้ระดับโปรเซสสำหรับโหมด headless ของเบราว์เซอร์ภายในเครื่องที่มีการจัดการ | ไม่ได้ตั้งค่า |
browser.noSandbox |
เพิ่มแฟล็ก --no-sandbox (จำเป็นสำหรับการตั้งค่า Linux บางรูปแบบ) |
false |
browser.attachOnly |
ไม่เริ่มเบราว์เซอร์ แนบกับเบราว์เซอร์ที่มีอยู่เท่านั้น | false |
บน Raspberry Pi, โฮสต์ VPS รุ่นเก่า หรือพื้นที่จัดเก็บข้อมูลที่ช้า ให้ใช้เบราว์เซอร์ที่เริ่ม
ด้วยตนเองพร้อม attachOnly เมื่อ Chrome ต้องใช้เวลาในการเปิดเผยปลายทาง HTTP ของ CDP
หรือเตรียมพร้อมนานกว่ากำหนดเวลาของเบราว์เซอร์ที่มีการจัดการจะอนุญาต
ปัญหา: ไม่พบแท็บ Chrome สำหรับ profile="user"
กำลังใช้โปรไฟล์ user (existing-session / Chrome MCP) และไม่มี
แท็บที่เปิดอยู่ให้แนบ
ตัวเลือกการแก้ไข:
- ใช้เบราว์เซอร์ที่มีการจัดการแทน:
openclaw browser --browser-profile openclaw start(หรือตั้งค่าbrowser.defaultProfile: "openclaw") - เปิด Chrome ภายในเครื่องค้างไว้โดยมีแท็บเปิดอยู่อย่างน้อยหนึ่งแท็บ แล้วลองอีกครั้งด้วย
--browser-profile user
หมายเหตุ:
userใช้ได้เฉพาะบนโฮสต์เท่านั้น บนเซิร์ฟเวอร์ Linux, คอนเทนเนอร์ หรือโฮสต์ระยะไกล ควรใช้ โปรไฟล์ CDP แทนuserและโปรไฟล์existing-sessionอื่นๆ ใช้ข้อจำกัดปัจจุบันของ Chrome MCP ร่วมกัน ได้แก่ ทำได้เฉพาะการดำเนินการที่ขับเคลื่อนด้วยการอ้างอิง อัปโหลดได้ครั้งละหนึ่งไฟล์ ไม่มีการบังคับค่าtimeoutMsของกล่องโต้ตอบ ไม่มีwait --load networkidleและไม่มีresponsebody, การส่งออก PDF, การสกัดกั้นการดาวน์โหลด หรือการดำเนินการแบบกลุ่ม- โปรไฟล์ไดรเวอร์
openclawภายในเครื่องจะกำหนดcdpPort/cdpUrlโดยอัตโนมัติ ให้ตั้งค่า เหล่านี้ด้วยตนเองเฉพาะสำหรับ CDP ระยะไกล - โปรไฟล์ CDP ระยะไกลยอมรับ
http://,https://,ws://และwss://ใช้ HTTP(S) สำหรับการค้นหา/json/versionหรือใช้ WS(S) เมื่อบริการเบราว์เซอร์ ให้ URL ซ็อกเก็ต DevTools โดยตรง