Linux 桌面自动化与控制。适用于以下场景:(1)截取屏幕或窗口的截图,(2)控制鼠标和键盘,(3)管理窗口,(4……
Linux 桌面控制器 : 自动修改并使用命令行工具控制您的 Linux 桌面是一项面向实际任务的技能,主要用于抓取截图、 控制鼠标/ 键盘以及管理窗口;抓取屏幕或屏幕的截图。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
使用命令行工具自动化并控制您的 Linux 桌面。支持截取屏幕截图、控制鼠标/键盘、管理窗口等操作。
安装所需工具:
sudo apt-get install scrot xdotool xclip x11-utils x11-apps
python3 scripts/linux-desktop.py screenshot
# 输出:~/screenshot_20240224_203901.png
python3 scripts/linux-desktop.py list
python3 scripts/linux-desktop.py move 500 300
python3 scripts/linux-desktop.py click
python3 scripts/linux-desktop.py type "Hello World"
screenshot [path]截取整个屏幕的截图。
示例:
# 保存至默认路径(/tmp/screenshot_YYYYMMDD_HHMMSS.png)
python3 scripts/linux-desktop.py screenshot
# 保存至自定义路径
python3 scripts/linux-desktop.py screenshot ~/desktop.png
window [window_id] [path]截取指定窗口的截图。
示例:
# 截取当前活动窗口
python3 scripts/linux-desktop.py window
# 截取指定窗口(ID 为 0x12345678),并保存至 ~/window.png
python3 scripts/linux-desktop.py window 0x12345678 ~/window.png
active获取当前活动窗口的信息。
python3 scripts/linux-desktop.py active
# 输出:🖥️ Active Window
# ID: 0x12345678
# Title: Terminal
list列出所有可见窗口。
python3 scripts/linux-desktop.py list
# 输出:🪟 Found 5 windows:
# 1. 0x12345678 - Terminal
# 2. 0x87654321 - Chrome
move 将鼠标光标移动到指定坐标位置。
示例:
python3 scripts/linux-desktop.py move 100 200
# 将鼠标移动至 (100, 200)
python3 scripts/linux-desktop.py move 500 300
# 将鼠标移动至 1000×600 区域中心
click [button]在当前光标位置点击鼠标按键。
按键值说明:
1 — 左键(默认)2 — 中键3 — 右键示例:
python3 scripts/linux-desktop.py click
# 左键单击
python3 scripts/linux-desktop.py click 3
# 右键单击
type 在当前光标位置输入文本(需目标窗口已获得焦点)。
示例:
python3 scripts/linux-desktop.py type "Hello World"
python3 scripts/linux-desktop.py type "ls -la"
python3 scripts/linux-desktop.py type "sudo apt update"
key 按下键盘按键。
常用按键名称:
Return — 回车键(Enter)Escape — Esc 键Tab — Tab 键BackSpace — 退格键(Backspace)Delete — 删除键(Delete)Up、Down、Left、Right — 方向键Home、End、Page_Up、Page_DownF1 至 F12Ctrl+c、Ctrl+v、Ctrl+a、Ctrl+z — 组合键示例:
python3 scripts/linux-desktop.py key Return
python3 scripts/linux-desktop.py key Escape
python3 scripts/linux-desktop.py key Ctrl+a
python3 scripts/linux-desktop.py key F5
screen获取屏幕信息。
python3 scripts/linux-desktop.py screen
# 输出:🖥️ Screen Info
# Resolution: 1920x1080
# 移动鼠标 → 单击 → 输入文本 → 按回车
python3 scripts/linux-desktop.py move 100 100
python3 scripts/linux-desktop.py click
python3 scripts/linux-desktop.py type "ls -la"
python3 scripts/linux-desktop.py key Return
# 打开浏览器 → 访问 Google → 搜索关键词
python3 scripts/linux-desktop.py move 100 50
python3 scripts/linux-desktop.py click
python3 scripts/linux-desktop.py type "https://www.google.com"
python3 scripts/linux-desktop.py key Return
sleep 2
python3 scripts/linux-desktop.py type "how to make money online"
python3 scripts/linux-desktop.py key Return
# 在执行操作前后分别截图
python3 scripts/linux-desktop.py screenshot /tmp/before.png
python3 scripts/linux-desktop.py key F5 # 刷新页面
sleep 1
python3 scripts/linux-desktop.py screenshot /tmp/after.png
sleep 命令以提升可靠性list 命令获取窗口 ID,以便精准定位目标窗口出现 “Command not found” 错误:
sudo apt-get install scrot xdotool xclip x11-utils x11-apps
权限被拒绝(Permission denied):
鼠标无法移动: