Computer Use:无头 Linux 服务器上的桌面操作自动化

前言

在 VPS 或云主机上跑需要图形界面的应用时,机器没有显示器,很多自动化手段无从下手;即便能跑,在浏览器层面操作的自动化又容易被网站检测到。下面介绍的这个 Skill 提供了另一条路径:在无头 Linux 服务器上搭一个虚拟桌面,把「看屏幕—定位元素—点击输入」变成一组可复现的脚本动作。

这是什么

Computer Use 是一个面向无头 Linux 服务器的桌面自动化 Skill,由 ram-raghav-s 发布,来源为 clawhub,当前版本 1.2.1,采用 MIT-0 许可证。它基于 Xvfb + XFCE 虚拟桌面,配合 xdotool 完成自动化,提供 17 种操作动作(点击、输入、滚动、截图、拖拽等)。它运行在 X11 层面,官方页面说明其与 OpenClaw 的 browser 工具不同,网站无法检测到自动化,并附带 VNC 用于实时查看桌面。

按 SkillHub 分类,它属于 ai-agent。已抓取的 SkillHub 资料显示评分 100000、下载 40925 次、安装 499 次;需说明的是,任务线索给出的下载数(4996)与此不一致,且官方 SkillHub 页面本次未能直接打开核实,以页面显示为准。标签 requires_api_key=false,即不需要额外配置 API Key。

核心功能

1、虚拟桌面环境。默认显示为 :99,分辨率 1024x768(XGA),桌面为精简版 XFCE4(只保留 xfwm4 和 panel)。

2、17 种操作动作。全部以独立脚本实现,便于在工作流里逐步调用:

screenshot       截图,输出 base64 PNG
cursor_position  获取当前鼠标 X,Y
mouse_move       移动鼠标到坐标
click.sh         左键 / 右键 / 中键 / 双击 / 三击
drag.sh          从起点拖拽到终点
mouse_down.sh    按下左键
mouse_up.sh      释放左键
type_text.sh     输入文本(按 50 字符分块,12ms 键距)
key.sh           按键组合(Return、ctrl+c、alt+F4 等)
hold_key.sh      长按指定时长
scroll.sh        上 / 下 / 左 / 右滚动
wait.sh          等待若干秒后截图
zoom.sh          截取指定区域

3、服务化运行。提供 systemd 服务,开机自启、崩溃自重启,服务链为 xvfb → xfce-minimal → x11vnc → novnc。

4、实时查看。通过 x11vnc + noVNC,可以在浏览器或 VNC 客户端里实时查看这台虚拟桌面上发生的一切。

安装与启用

官方安装命令如下,在 OpenClaw 环境里执行:

openclaw skills install @ram-raghav-s/computer-use

安装完成后运行一键安装脚本,它会安装全部依赖、生成 systemd 服务并启动:

bash ./scripts/setup-vnc.sh

该脚本会完成:在 :99 上启动 Xvfb 虚拟显示;部署精简 XFCE 桌面(xfwm4 + panel,不含 xfdesktop);安装带稳定性参数的 x11vnc;提供 noVNC 的浏览器访问入口。

如果需要手动安装依赖,命令如下:

sudo apt install -y xvfb xfce4 xfce4-terminal xdotool scrot imagemagick dbus-x11 x11vnc novnc websockify

目前官方资料只给出了上述安装方式。任务线索中提到的 Cursor、Codex CLI、Claude Code 等环境的启用差异,在已核实资料中没有对应信息,此处不做说明。

典型用法

官方给出的基本调用方式是先指定显示,再逐个调用脚本。先设置环境变量:

export DISPLAY=:99

截图——官方工作流要求始终从「看屏幕」开始:

./scripts/screenshot.sh

在坐标 (512, 384) 处左键单击:

./scripts/click.sh 512 384 left

输入文本、按键组合、向下滚动:

./scripts/type_text.sh "Hello world"
./scripts/key.sh "ctrl+s"
./scripts/scroll.sh down 5

官方推荐的工作流模式是一个循环:截图 → 分析界面元素和坐标 → 执行点击、输入、滚动等动作 → 截图验证结果 → 重复。多数动作在执行后会自动延迟 2 秒截图,便于验证。

实时查看桌面有两种方式,都需要先建立 SSH 隧道:

# 浏览器查看(本地机器上执行)
ssh -L 6080:localhost:6080 your-server
# 然后访问 http://localhost:6080/vnc.html

# VNC 客户端查看
ssh -L 5900:localhost:5900 your-server
# 用 VNC 客户端连接 localhost:5900

服务状态检查与重启:

systemctl status xvfb xfce-minimal x11vnc novnc
sudo systemctl restart xvfb xfce-minimal x11vnc novnc

适用场景与注意

适合谁:需要在无头 Linux 服务器上操作图形界面应用(浏览器、终端程序、文件管理器等),又不想依赖浏览器自动化方案的人。它的定位是系统级 X11 操作,理论上可用于任何能在 X 上运行的应用。

几个已知的限制和坑:

1、坐标基于 1024x768 的虚拟屏幕,原点在左上角。输入文本前要先点击目标字段使其获得焦点。
2、Chrome 沙箱问题。官方说明:如果内核不支持用户命名空间,必须加 --no-sandbox 启动,否则浏览器会崩溃;但不必要的 --no-sandbox 会导致不稳定。判断方法:

cat /proc/sys/kernel/unprivileged_userns_clone

值为 1 时不要用 --no-sandbox,值为 0 时才需要。Snap 版浏览器(Firefox、Chromium)在无头服务器上有沙箱问题,建议改用 Chrome 的 .deb 安装包。
3、VNC 黑屏,先检查 xfwm4 是否在运行(pgrep xfwm4),必要时重启 xfce-minimal 服务;xfdesktop 必须被 mask,否则会在 Xvfb 上引起闪烁。
4、x11vnc 崩溃或画面闪烁时,确认参数包含 -noxdamage -noxfixes,DAMAGE 扩展在 Xvfb 上会导致 SIGSEGV;noVNC 侧应有 --heartbeat 30。

需要特别说明的是,任务线索中「高危动作强制人工确认、全程留痕审计」的表述,在已核实的 SKILL.md 与上游仓库资料中均未出现,本文档不将其作为该 Skill 的能力介绍;如需人工确认机制,建议在上层工作流中自行实现。

结尾

Computer Use 的价值在于把「无头服务器上的图形界面操作」这件事拆成了一套可脚本化、可验证的动作集合:截图—分析—动作—验证的循环,配合 VNC 实时查看,使得远程机器上的桌面操作可以像本地一样进行。它面向 OpenClaw 生态,安装简单(一条命令 + 一个脚本),但需要接受 X11 层面的坐标操作方式,并对 Chrome 沙箱、VNC 稳定性等问题有基本排错能力。

官方地址:https://api.skillhub.cn/lexord-technology/computer-use
上游仓库:https://clawhub.ai/ram-raghav-s/computer-use

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜