linux-desktop

Controls the built-in XFCE Linux desktop inside Agent Zero's Docker runtime via xdotool and LibreOffice UNO.

19.1k|3.8k|Updated Jun 10, 2024
One-click install
npx skills add https://github.com/agent0ai/agent-zero --skill linux-desktop
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: linux-desktop
Source: https://github.com/agent0ai/agent-zero/tree/main/plugins/_desktop/skills/linux-desktop
Command: npx skills add https://github.com/agent0ai/agent-zero --skill linux-desktop

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

It lets the agent operate Agent Zero's built-in Docker/Xpra Linux desktop—launching XFCE apps, driving LibreOffice GUI windows, managing files in Thunar, and running terminal commands—without touching the user's real host machine.

Core Features & Use Cases

  • Structured Desktop Control: Query window state, focus apps, send keystrokes, paste text, and batch multi-step GUI actions through the desktopctl.sh helper script.
  • Live LibreOffice Coworking: Edit Calc spreadsheet cells through the visible LibreOffice session via UNO, with on-disk verification, so users see updates in real time.
  • Screenshot-Based Verification: Capture fresh screenshots for visual confirmation, OCR, and coordinate-based actions as a last resort.
  • Use Case: Ask the agent to open a workbook in the Desktop's Calc app, set cell B2 on Sheet1 to a new value, save the file, and verify the change on disk.

Quick Start

Ask the agent to open LibreOffice Calc in the built-in Desktop and update a specific cell in your spreadsheet file.

Frequently Asked Questions about linux-desktop

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I control the Agent Zero built-in Linux desktop from the agent shell?

Use the desktopctl.sh helper script, which sets DISPLAY, XAUTHORITY, and HOME for the Xpra session and drives the desktop with xdotool. Commands like check, state --json, launch, focus, key, and paste-text handle most GUI actions without coordinates.

How do I edit a LibreOffice Calc cell in the visible desktop session?

Run desktopctl.sh calc-set-cell FILE SHEET CELL VALUE. It opens the workbook in the visible Calc session, sets the cell through the LibreOffice UNO bridge, saves the file, and verifies the value on disk.

Does this skill control my host computer or local desktop?

No. It only targets the internal Agent Zero Xpra display inside the Docker runtime. For host machine control via /computer-use or A0 CLI, the host-computer-use skill with computer_use_remote is required instead.

When should I use screenshots versus structured desktop state?

Prefer structured commands like state --json, windows, and active-window for readiness and window checks. Use observe --json --screenshot only when pixel-level inspection, OCR, or coordinate clicks are genuinely required.

Why does desktopctl.sh report the desktop is not reachable?

The check fails when xdotool cannot reach the X display, meaning the Desktop runtime is not ready or the surface was never opened. The correct response is to report the runtime is not ready rather than installing packages ad hoc.