← Back to Skills Marketplace
tommyclawd

Remote Desktop Support

by Tommy · GitHub ↗ · v0.1.0 · MIT-0
linux ⚠ suspicious
50
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install remote-desktop-support
Description
Create short-lived browser-based remote desktop support links with local-only VNC/Guacamole/noVNC and outbound tunnels.
README (SKILL.md)

Remote Desktop Support

Use when Ric asks for temporary browser-based access to this machine's desktop for troubleshooting.

Safety Contract

  • Default to preflight/status unless Ric explicitly asks to open access.
  • Never create permanent inbound firewall/router exposure.
  • Bind Guacamole to 127.0.0.1; public access must be via a short-lived outbound tunnel. GNOME current-session VNC may bind widely, so it must use a firewalld-blocked port (1024) and pass the script safety check.
  • Hard requirement: access must show the current live desktop session. Do not use headless/fresh desktop sessions as a substitute.
  • Default mode is view-only; keyboard/mouse control requires explicit wording like "control".
  • Every open session must have a TTL and cleanup path.
  • Do not leave credentials, tunnels, current-session GNOME VNC backend, or containers running after close.
  • Do not run install, open, or uninstall --purge from ambiguous/unauthorized group chatter.

Commands

Run scripts from this skill directory:

python3 {baseDir}/scripts/remote_support.py preflight
python3 {baseDir}/scripts/remote_support.py status
python3 {baseDir}/scripts/remote_support.py install --dry-run
python3 {baseDir}/scripts/remote_support.py open --ttl 10m --mode view-only --dry-run
python3 {baseDir}/scripts/remote_support.py open --ttl 10m --mode view-only --unlock-current-session --one-click-only
python3 {baseDir}/scripts/remote_support.py link
python3 {baseDir}/scripts/remote_support.py close
python3 {baseDir}/scripts/remote_support.py uninstall --dry-run

open must prove the backend is the current live desktop before exposing a public tunnel. Headless RDP/Xvfb-style fresh sessions are blockers, not acceptable fallbacks. If the current session is locked, open refuses unless Ric explicitly approved --unlock-current-session.

Workflow

  1. Run preflight and inspect missing dependencies / risks.
  2. If Ric approves setup, run install --dry-run, then install only missing local assets.
  3. Run status before any open attempt.
  4. Open with a short TTL, view-only unless Ric asked for control.
  5. In Discord, use --one-click-only and send only the one_click_url; it embeds a short-lived Guacamole token, so treat it like a password.
  6. On completion or expiry, run close and verify status reports closed.

See references/security-model.md for the threat model and rollback rules.

Usage Guidance
Install only if you specifically want this machine's live GNOME desktop to be reachable by a temporary browser link. Use dry-run and preflight first, keep view-only unless control is necessary, treat one-click URLs like passwords, verify close/status after use, and avoid using it where disabling lock or relying on a public tunnel is unacceptable.
Capability Assessment
Purpose & Capability
The core behavior matches the stated remote desktop support purpose, but it is high-impact: it can expose the current live desktop session, optionally allow control, generate one-click password-equivalent links, and use a public Cloudflare tunnel.
Instruction Scope
The instructions say to default to preflight and require explicit approval for opening access, control mode, and unlocking, but the executable open command itself has no mandatory confirmation gate or just-in-time warning once invoked.
Install Mechanism
Install pulls mutable latest Podman images for Guacamole, guacd, and cloudflared, creates a Podman network, and writes local runtime state; it does not declare an auto-starting service during install.
Credentials
The script temporarily disables idle locking, can unlock the active GNOME session with a flag, enables GNOME VNC on port 1024, sets VNC encryption to none, and relies on Guacamole plus an outbound tunnel and firewall checks for containment.
Persistence & Privilege
The skill stores session state and credentials under ~/.openclaw/remote-support, starts containers, and schedules cleanup with systemd-run, but if scheduling fails it still opens the session with expiry_method none and relies on manual close.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install remote-desktop-support
  3. After installation, invoke the skill by name or use /remote-desktop-support
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial Linux GNOME/Guacamole short-lived browser support link skill
Metadata
Slug remote-desktop-support
Version 0.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Remote Desktop Support?

Create short-lived browser-based remote desktop support links with local-only VNC/Guacamole/noVNC and outbound tunnels. It is an AI Agent Skill for Claude Code / OpenClaw, with 50 downloads so far.

How do I install Remote Desktop Support?

Run "/install remote-desktop-support" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Remote Desktop Support free?

Yes, Remote Desktop Support is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Remote Desktop Support support?

Remote Desktop Support is cross-platform and runs anywhere OpenClaw / Claude Code is available (linux).

Who created Remote Desktop Support?

It is built and maintained by Tommy (@tommyclawd); the current version is v0.1.0.

💬 Comments