Virtual Remote Desktop
Starts and manages a secure noVNC virtual desktop on headless Linux using Xvfb, x11vnc, and a token-
- Rating
- 4.5 (112 reviews)
- Downloads
- 9,541 downloads
- Version
- 1.0.0
Overview
Starts and manages a secure noVNC virtual desktop on headless Linux using Xvfb, x11vnc, and a token-gated noVNC web.
Complete Documentation
View Source →
Virtual Remote Desktop (KasmVNC edition)
What this skill is for
Use this when the workflow is:
- AI runs browser automation most of the time
- Captcha / risk-control / MFA appears
- User takes over remotely for 1-3 minutes
- AI continues automatically
Core commands
0) Install KasmVNC (one-time)
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/install_kasmvnc.sh
This installer also prepares required runtime tools:
fluxbox(lightweight desktop)xdotool+scrot(computer-use actions)xauth
1) Requirement-driven start (recommended)
Before starting, always confirm these user requirements:
- takeover device: 手机 or 电脑
- website render mode: 手机网页 or 桌面网页
- access mode: 本地隧道 (
127.0.0.1) or 临时公网 (0.0.0.0) - network quality: 弱网 / 普通 / 良好
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/start_vrd_guided.sh
Preview config without starting:
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/start_vrd_guided.sh --dry-run
1.1) Direct start (manual env)
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/start_vrd.sh
Important env vars:
AUTO_LAUNCH_URL(optional): open target page automaticallyKASM_BIND(default127.0.0.1, safer)AUTO_STOP_IDLE_SECS(default900)BROWSER_MOBILE_MODE=1(launch browser with mobile emulation)BROWSER_DEVICE=iphone14pro|pixel7|ipad
AUTO_LAUNCH_URL="https://example.com/login" \
AUTO_STOP_IDLE_SECS=1200 \
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/start_vrd.sh
Mobile-friendly VNC stream example (better phone takeover UX):
MOBILE_MODE=1 MOBILE_PRESET=phone \
AUTO_STOP_IDLE_SECS=900 \
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/start_vrd.sh
Mobile stream options:
MOBILE_MODE=1enables mobile defaultsMOBILE_PRESET=phone|tabletsets default resolution (960x540/1280x720)KASM_MAX_FPScan be lowered further (e.g.18) on weak networks
AUTO_LAUNCH_URL="https://example.com" \
BROWSER_MOBILE_MODE=1 BROWSER_DEVICE=iphone14pro \
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/start_vrd.sh
Notes:
- Browser mobile emulation changes UA + viewport + touch behavior.
- It is different from
MOBILE_MODE(which optimizes VNC stream size).
2) Check status / health
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/status_vrd.sh
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/health_vrd.sh
3) Stop desktop
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/stop_vrd.sh
AI automation actions (computer-use style)
All actions run on the active virtual display from pids.env.
# screenshot (base64)
bash scripts/action_screenshot.sh
# click / type / key / scroll
bash scripts/action_click.sh 500 420 left
bash scripts/action_type.sh "hello"
bash scripts/action_key.sh "ctrl+l"
bash scripts/action_scroll.sh down 4
# helpers
bash scripts/action_mouse_move.sh 800 300
bash scripts/action_cursor_position.sh
bash scripts/action_wait.sh 2
Recommended loop:
action_screenshot.sh- analyze
action_click/type/key/...- screenshot verify
- repeat
Best handoff pattern (AI ↔ User)
When captcha/risk-control appears:
- AI sends user the KasmVNC URL + username/password
- User manually solves challenge
- User replies “done”
- AI runs screenshot + validation step
- AI resumes automation
UX presets
Preset A: safe local tunnel (recommended)
KASM_BIND=127.0.0.1- user connects via SSH tunnel
- best for security
Preset B: temporary public takeover
KASM_BIND=0.0.0.0- short
AUTO_STOP_IDLE_SECS(e.g. 300) - use only for urgent remote intervention
Notes
- KasmVNC uses HTTPS + per-user auth (username/password).
- This skill stores runtime files in
~/.openclaw/vrd-databy default. - Browser profile persistence is controlled by
CHROME_PROFILE_DIR. - If captcha frequency is high, keep one long-lived profile to reduce repeated challenges.
Installation
openclaw install virtual-remote-desktop
💻Code Examples
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/install_kasmvnc.sh
This installer also prepares required runtime tools:
- `fluxbox` (lightweight desktop)
- `xdotool` + `scrot` (computer-use actions)
- `xauth`
### 1) Requirement-driven start (recommended)
Before starting, always confirm these user requirements:
1. takeover device: **手机** or **电脑**
2. website render mode: **手机网页** or **桌面网页**
3. access mode: **本地隧道** (`127.0.0.1`) or **临时公网** (`0.0.0.0`)
4. network quality: **弱网 / 普通 / 良好**
Use guided script (interactive Q&A):bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/start_vrd.sh
Important env vars:
- `AUTO_LAUNCH_URL` (optional): open target page automatically
- `KASM_BIND` (default `127.0.0.1`, safer)
- `AUTO_STOP_IDLE_SECS` (default `900`)
- `BROWSER_MOBILE_MODE=1` (launch browser with mobile emulation)
- `BROWSER_DEVICE=iphone14pro|pixel7|ipad`
Example:bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/start_vrd.sh
Mobile stream options:
- `MOBILE_MODE=1` enables mobile defaults
- `MOBILE_PRESET=phone|tablet` sets default resolution (`960x540` / `1280x720`)
- `KASM_MAX_FPS` can be lowered further (e.g. `18`) on weak networks
Browser mobile emulation (website renders as mobile page):bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/start_vrd.sh
Notes:
- Browser mobile emulation changes UA + viewport + touch behavior.
- It is different from `MOBILE_MODE` (which optimizes VNC stream size).
### 2) Check status / healthbash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/stop_vrd.sh
---
## AI automation actions (computer-use style)
All actions run on the active virtual display from `pids.env`.AUTO_LAUNCH_URL="https://example.com/login" \
AUTO_STOP_IDLE_SECS=1200 \
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/start_vrd.shMOBILE_MODE=1 MOBILE_PRESET=phone \
AUTO_STOP_IDLE_SECS=900 \
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/start_vrd.shAUTO_LAUNCH_URL="https://example.com" \
BROWSER_MOBILE_MODE=1 BROWSER_DEVICE=iphone14pro \
bash /home/ubuntu/.openclaw/workspace/skills/virtual-remote-desktop/scripts/start_vrd.sh# screenshot (base64)
bash scripts/action_screenshot.sh
# click / type / key / scroll
bash scripts/action_click.sh 500 420 left
bash scripts/action_type.sh "hello"
bash scripts/action_key.sh "ctrl+l"
bash scripts/action_scroll.sh down 4
# helpers
bash scripts/action_mouse_move.sh 800 300
bash scripts/action_cursor_position.sh
bash scripts/action_wait.sh 2Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.