linux-desktop

TotalClaw 作者 totalclaw

Linux 桌面自动化和控制。在以下情况下使用:(1) 截取屏幕或窗口的屏幕截图,(2) 控制鼠标和键盘,(3) 管理窗口,(4) 自动执行桌面任务,或 (5) 任何 Linux 桌面交互需求。支持屏幕截图、鼠标移动、打字和窗口管理。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~ouyangabel-linux-desktop
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~ouyangabel-linux-desktop/file -o ouyangabel-linux-desktop.md
## 概述(中文)

Linux 桌面自动化和控制。在以下情况下使用:(1) 截取屏幕或窗口的屏幕截图,(2) 控制鼠标和键盘,(3) 管理窗口,(4) 自动执行桌面任务,或 (5) 任何 Linux 桌面交互需求。支持屏幕截图、鼠标移动、打字和窗口管理。

## 原文

# Linux Desktop Control

Automate and control your Linux desktop using command-line tools. Capture screenshots, control mouse/keyboard, and manage windows.

## When to Use

- Take screenshots of screen or specific windows
- Automate mouse movements and clicks
- Simulate keyboard input
- Manage and interact with windows
- Build desktop automation workflows

## Prerequisites

Install required tools:

```bash
sudo apt-get install scrot xdotool xclip x11-utils x11-apps
```

## Quick Start

### Take Screenshot
```bash
python3 scripts/linux-desktop.py screenshot
# Output: ~/screenshot_20240224_203901.png
```

### List Windows
```bash
python3 scripts/linux-desktop.py list
```

### Move Mouse and Click
```bash
python3 scripts/linux-desktop.py move 500 300
python3 scripts/linux-desktop.py click
```

### Type Text
```bash
python3 scripts/linux-desktop.py type "Hello World"
```

## Commands

### `screenshot [path]`
Capture a screenshot of the entire screen.

**Examples:**
```bash
# Save to default location (/tmp/screenshot_YYYYMMDD_HHMMSS.png)
python3 scripts/linux-desktop.py screenshot

# Save to custom path
python3 scripts/linux-desktop.py screenshot ~/desktop.png
```

### `window [window_id] [path]`
Capture a screenshot of a specific window.

**Examples:**
```bash
# Screenshot active window
python3 scripts/linux-desktop.py window

# Screenshot specific window
python3 scripts/linux-desktop.py window 0x12345678 ~/window.png
```

### `active`
Get information about the currently active window.

```bash
python3 scripts/linux-desktop.py active
# Output: 🖥️ Active Window
#         ID: 0x12345678
#         Title: Terminal
```

### `list`
List all visible windows.

```bash
python3 scripts/linux-desktop.py list
# Output: 🪟 Found 5 windows:
#         1. 0x12345678 - Terminal
#         2. 0x87654321 - Chrome
```

### `move <x> <y>`
Move mouse cursor to specified coordinates.

**Examples:**
```bash
python3 scripts/linux-desktop.py move 100 200
# Moves mouse to (100, 200)

python3 scripts/linux-desktop.py move 500 300
# Moves mouse to center of 1000x600 area
```

### `click [button]`
Click mouse button at current cursor position.

**Button values:**
- `1` - Left button (default)
- `2` - Middle button
- `3` - Right button

**Examples:**
```bash
python3 scripts/linux-desktop.py click
# Left click

python3 scripts/linux-desktop.py click 3
# Right click
```

### `type <text>`
Type text at current cursor position (must be in focused window).

**Examples:**
```bash
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 <keyspec>`
Press keyboard keys.

**Common keys:**
- `Return` - Enter key
- `Escape` - Escape key
- `Tab` - Tab key
- `BackSpace` - Backspace
- `Delete` - Delete
- `Up`, `Down`, `Left`, `Right` - Arrow keys
- `Home`, `End`, `Page_Up`, `Page_Down`
- `F1` through `F12`
- `Ctrl+c`, `Ctrl+v`, `Ctrl+a`, `Ctrl+z` - Key combinations

**Examples:**
```bash
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`
Get screen information.

```bash
python3 scripts/linux-desktop.py screen
# Output: 🖥️ Screen Info
#         Resolution: 1920x1080
```

## Automation Examples

### Basic Automation
```bash
# Move mouse, click, type, and press enter
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
```

### Web Search Automation
```bash
# Open browser, navigate to Google, search
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
```

### Screenshot Workflow
```bash
# Take screenshot before and after action
python3 scripts/linux-desktop.py screenshot /tmp/before.png
python3 scripts/linux-desktop.py key F5  # Refresh
sleep 1
python3 scripts/linux-desktop.py screenshot /tmp/after.png
```

## Tips

- Always check the active window before typing
- Use `sleep` commands between actions for reliability
- Take screenshots to verify state changes
- Test commands one by one before building complex workflows
- Use window list to find specific window IDs for targeting

## Troubleshooting

**"Command not found" errors:**
```bash
sudo apt-get install scrot xdotool xclip x11-utils x11-apps
```

**Permission denied:**
- Ensure you're running in a graphical session (X11 or Wayland)
- Some actions require focus on the target window

**Mouse doesn't move:**
- Check if another application is grabbing the mouse
- Try moving the mouse manually to see if it's responsive

## Security Notes

- This skill can control your desktop - use with caution
- Don't automate sensitive actions without verification
- Always review automation scripts before running