Search

PythonReactSEOPDF
OpenClaw

e2b-desktop

Control E2B Desktop sandboxes (virtual Linux desktops) for computer-use agents. Use when you need to create/manage sandboxed desktop environments, take screenshots, perform mouse/keyboard actions, run commands, stream VNC output, or build computer-use agent loops with E2B Desktop SDK.

eyhn0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install eyhn/e2b-desktop

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

E2B Desktop Skill

Control a headless Linux desktop (Ubuntu + XFCE) via the e2b-desktop Python SDK. All scripts live in scripts/ and wrap the SDK in bash for easy agent use.

Prerequisites

pip install e2b-desktop
export E2B_API_KEY=e2b_***

State Management

  • start_sandbox.sh saves the sandbox ID to ~/.e2b_state
  • All other scripts auto-load it from there
  • Override anytime with export E2B_SANDBOX_ID=<id>
  • Sandboxes survive script exit — reconnect with Sandbox.connect(sandbox_id)

Scripts

Script Usage Description
start_sandbox.sh [--resolution 1280x800] [--timeout 300] [--stream] Create sandbox; optionally start VNC stream
kill_sandbox.sh [SANDBOX_ID] Kill sandbox and remove state
screenshot.sh [OUTPUT_FILE] Take screenshot → PNG (default: /tmp/e2b_screenshot.png)
click.sh X Y Left click at coordinates
right_click.sh X Y Right click
double_click.sh X Y Double click
middle_click.sh X Y Middle click
move_mouse.sh X Y Move cursor (no click)
drag.sh X1 Y1 X2 Y2 Click-drag between two points
scroll.sh AMOUNT Scroll (positive=up, negative=down)
type_text.sh "text" Type text at current cursor
press_key.sh KEY [KEY2...] Press key or combo (e.g. ctrl c)
run_command.sh "cmd" Run shell command inside sandbox
open_url.sh URL_OR_PATH Open URL or file in default app
launch_app.sh APP_NAME Launch app (e.g. firefox, vscode)
stream_start.sh [--auth] Start VNC stream; --auth for password-protected
stream_stop.sh (none) Stop VNC stream
get_cursor.sh (none) Print CURSOR_X and CURSOR_Y
get_screen_size.sh (none) Print SCREEN_WIDTH and SCREEN_HEIGHT
list_windows.sh [APP_NAME] List app windows or show active window
wait.sh MILLISECONDS Wait N ms (sandbox-side)

##...

Source information

Source
github
Repository
openclaw/skills
Path
skills/eyhn/e2b-desktop
Version
—
Commit
f6d43844551519ecfb56728ccdef24a647134163
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# E2B Desktop Skill

Control a headless Linux desktop (Ubuntu + XFCE) via the `e2b-desktop` Python SDK.
All scripts live in `scripts/` and wrap the SDK in bash for easy agent use.

## Prerequisites

```bash
pip install e2b-desktop
export E2B_API_KEY=e2b_***
```

## State Management

- `start_sandbox.sh` saves the sandbox ID to `~/.e2b_state`
- All other scripts auto-load it from there
- Override anytime with `export E2B_SANDBOX_ID=<id>`
- Sandboxes survive script exit — reconnect with `Sandbox.connect(sandbox_id)`

## Scripts

| Script | Usage | Description |
|---|---|---|
| `start_sandbox.sh` | `[--resolution 1280x800] [--timeout 300] [--stream]` | Create sandbox; optionally start VNC stream |
| `kill_sandbox.sh` | `[SANDBOX_ID]` | Kill sandbox and remove state |
| `screenshot.sh` | `[OUTPUT_FILE]` | Take screenshot → PNG (default: `/tmp/e2b_screenshot.png`) |
| `click.sh` | `X Y` | Left click at coordinates |
| `right_click.sh` | `X Y` | Right click |
| `double_click.sh` | `X Y` | Double click |
| `middle_click.sh` | `X Y` | Middle click |
| `move_mouse.sh` | `X Y` | Move cursor (no click) |
| `drag.sh` | `X1 Y1 X2 Y2` | Click-drag between two points |
| `scroll.sh` | `AMOUNT` | Scroll (positive=up, negative=down) |
| `type_text.sh` | `"text"` | Type text at current cursor |
| `press_key.sh` | `KEY [KEY2...]` | Press key or combo (e.g. `ctrl c`) |
| `run_command.sh` | `"cmd"` | Run shell command inside sandbox |
| `open_url.sh` | `URL_OR_PATH` | Open URL or file in default app |
| `launch_app.sh` | `APP_NAME` | Launch app (e.g. `firefox`, `vscode`) |
| `stream_start.sh` | `[--auth]` | Start VNC stream; `--auth` for password-protected |
| `stream_stop.sh` | _(none)_ | Stop VNC stream |
| `get_cursor.sh` | _(none)_ | Print `CURSOR_X` and `CURSOR_Y` |
| `get_screen_size.sh` | _(none)_ | Print `SCREEN_WIDTH` and `SCREEN_HEIGHT` |
| `list_windows.sh` | `[APP_NAME]` | List app windows or show active window |
| `wait.sh` | `MILLISECONDS` | Wait N ms (sandbox-side) |

##...

Related skills

OpenClaw

humanpages

human-pages-ai

Search and hire real humans for tasks — photography, delivery, research, and more

OpenClaw

openclaw-skills

zseven-w

Reusable skill templates for OpenClaw AI agents. Templates for API integration, data processing, web scraping, CLI tools, and file processing.

OpenClaw

0xarchive

0xfantommenace

Query historical crypto market data from 0xArchive across Hyperliquid, Lighter.xyz, and HIP-3. Covers orderbooks, trades, candles, funding rates, open interest, liquidations, and data quality. Use when the user...

OpenClaw

1sec-security

cutmob

Install, configure, and manage 1-SEC — an open-source, all-in-one cybersecurity platform (16 modules, single binary) on Linux servers and VPS instances. Use when the user asks to secure a server, install securi...