跳至主要内容
小龙虾小龙虾AI
🤖

xvfb-chrome

在Linux服务器上使用Chrome浏览器(无头/有头模式)配合xvfb运行,可连接chrome-devtools MCP进行浏览器自动化

下载150
星标0
版本1.0.2
开发工具
安全通过
💬Prompt

技能说明


name: xvfb-chrome description: 在Linux服务器上使用Chrome浏览器(无头/有头模式)配合xvfb运行,可连接chrome-devtools MCP进行浏览器自动化

XVFB + Chrome 浏览器自动化

在无GUI的Linux服务器上运行Chrome浏览器的完整指南,支持配合 chrome-devtools MCP 使用。

模式选择

场景推荐方式
快速爬取、截图、自动化脚本--headless=new (无头)
需要调试/连接DevTools MCPxvfb-run + 非无头 + --remote-debugging-port=9222
需要看到浏览器窗口(VNC截图等)xvfb-run + 非无头

启动命令

1. 无头模式 (常规自动化)

google-chrome --headless=new --no-sandbox --disable-gpu --user-data-dir=/tmp/chrome-data

2. 有头 + xvfb + DevTools (推荐 MCP 用户)

xvfb-run -a google-chrome --no-sandbox \
  --disable-gpu --remote-debugging-port=9222 \
  --user-data-dir=/tmp/chrome-profile

关键点:

  • -a = 自动分配 display 编号
  • 去掉 --headless 就是有头模式
  • DevTools 监听 ws://127.0.0.1:9222/devtools/browser/xxx

3. 重启 Chrome (杀旧进程)

pkill -f "chrome.*remote-debugging-port=9222" 2>/dev/null
sleep 1
xvfb-run -a google-chrome --no-sandbox \
  --disable-gpu --remote-debugging-port=9222 \
  --user-data-dir=/tmp/chrome-profile &

Chrome DevTools MCP 配合使用

MCP server chrome-devtools 已安装,连接 http://127.0.0.1:9222

mcporter list chrome-devtools --schema   # 查看可用工具
mcporter call chrome-devtools.list_pages # 列出页面

常用 MCP 工具

工具功能
new_page url:"https://xxx"打开新页面
navigate_page type:"url" url:"https://xxx"导航
take_screenshot filePath:"/path/xxx.png"截图
take_snapshot获取页面元素快照
click uid:"xxx"点击元素
fill uid:"xxx" value:"xxx"填入表单
type_text text:"xxx"输入文本
list_network_requests查看网络请求
evaluate_script function:"() => { return document.title }"执行JS

完整示例

# 1. 启动浏览器
xvfb-run -a google-chrome --no-sandbox \
  --disable-gpu --remote-debugging-port=9222 \
  --user-data-dir=/tmp/chrome-profile &

# 2. 检查是否就绪
curl -s http://127.0.0.1:9222/json/version

# 3. 用 MCP 操作
mcporter call chrome-devtools.new_page url:"https://www.baidu.com"
mcporter call chrome-devtools.take_screenshot filePath:"/root/screenshot.png"

参数解释

参数作用
--headless=new无头模式(不显示窗口)
--remote-debugging-port=9222开启调试端口,供MCP连接
--no-sandbox跳过沙箱(服务器必加)
--disable-gpu禁用GPU(服务器必加)
--user-data-dir=/tmp/xxx用户数据目录(避免冲突)
-a (xvfb-run)自动分配 display 编号
DISPLAY=:99指定使用某个 Xvfb 显示编号

分辨率配置

查看当前 Xvfb

ps aux | grep Xvfb | grep -v grep

输出示例:

Xvfb :99 -screen 0 1280x720x24
Xvfb :100 -screen 0 640x480x24

启动指定分辨率的 Xvfb

# 1280x720 分辨率
Xvfb :99 -screen 0 1280x720x24 -nolisten tcp &

# 1920x1080 分辨率
Xvfb :99 -screen 0 1920x1080x24 -nolisten tcp &

绑定 Chrome 到指定 Xvfb

# 方式1:使用 xvfb-run 自动分配
xvfb-run -a google-chrome --no-sandbox ...

# 方式2:手动指定 display 编号
DISPLAY=:99 google-chrome --no-sandbox ...

常用分辨率

分辨率适用场景
640x480轻量爬取、简单截图
1280x720 (720p)常规浏览、推荐配置
1920x1080 (1080p)高清截图、复杂页面

常用操作

# 查看当前运行的 Xvfb
ps aux | grep Xvfb | grep -v grep

# 杀掉所有 Chrome 进程
killall chrome

# 杀掉所有 Xvfb
pkill Xvfb

# 重启 Chrome(绑定到 :99)
killall chrome 2>/dev/null
sleep 1
DISPLAY=:99 google-chrome --no-sandbox \
  --disable-gpu --remote-debugging-port=9222 \
  --user-data-dir=/tmp/chrome-profile &

如何使用「xvfb-chrome」?

  1. 打开小龙虾AI(Web 或 iOS App)
  2. 点击上方「立即使用」按钮,或在对话框中输入任务描述
  3. 小龙虾AI 会自动匹配并调用「xvfb-chrome」技能完成任务
  4. 结果即时呈现,支持继续对话优化

相关技能