{"skill":{"slug":"remote-desktop","displayName":"Remote Desktop","summary":"Connect to remote desktops via RDP, VNC, and SSH X11 with secure tunneling and troubleshooting.","description":"---\nname: Remote Desktop\nslug: remote-desktop\nversion: 1.0.0\nhomepage: https://clawic.com/skills/remote-desktop\ndescription: Connect to remote desktops via RDP, VNC, and SSH X11 with secure tunneling and troubleshooting.\nmetadata: {\"clawdbot\":{\"emoji\":\"🖥️\",\"requires\":{\"bins\":[\"ssh\"]},\"os\":[\"linux\",\"darwin\",\"win32\"]}}\n---\n\n## Setup\n\nOn first use, read `setup.md` for integration guidelines and help the user with their question.\n\n## When to Use\n\nUser needs remote desktop access to another machine. Agent handles protocol selection, connection commands, tunnel setup, and troubleshooting display issues.\n\n## Architecture\n\nConfig lives in `~/remote-desktop/`. See `memory-template.md` for structure.\n\n```\n~/remote-desktop/\n├── memory.md         # Saved hosts, preferences\n└── hosts/            # Per-host connection profiles\n```\n\n## Quick Reference\n\n| Topic | File |\n|-------|------|\n| Setup process | `setup.md` |\n| Memory template | `memory-template.md` |\n| Protocol details | `protocols.md` |\n| Troubleshooting | `troubleshooting.md` |\n\n## Core Rules\n\n### 1. Protocol Selection\n| Target OS | Best Protocol | Why |\n|-----------|---------------|-----|\n| Windows | RDP | Native, best performance |\n| Linux (desktop) | VNC or X11 | VNC for persistent, X11 for apps |\n| macOS | VNC (built-in) | Screen Sharing uses VNC |\n| Headless Linux | SSH + X11 forwarding | No desktop needed |\n\n### 2. Security First\n- Always prefer SSH tunneling over direct exposure\n- Never expose RDP (3389) or VNC (5900) to internet directly\n- Use SSH keys, not passwords\n- If direct needed, use VPN or firewall rules\n\n### 3. Connection Commands\n\n**RDP to Windows:**\n```bash\n# xfreerdp (recommended)\nxfreerdp /v:HOST /u:USER /p:PASS /size:1920x1080 /dynamic-resolution\n\n# With SSH tunnel first\nssh -L 3389:localhost:3389 user@jumphost\nxfreerdp /v:localhost /u:USER\n```\n\n**VNC:**\n```bash\n# Direct (NOT recommended for internet)\nvncviewer HOST:5901\n\n# Via SSH tunnel (recommended)\nssh -L 5901:localhost:5901 user@HOST\nvncviewer localhost:5901\n```\n\n**SSH X11 forwarding:**\n```bash\n# Single app\nssh -X user@HOST firefox\n\n# Trusted (faster, less secure)\nssh -Y user@HOST\n```\n\n### 4. Port Defaults\n| Protocol | Default Port | Display :0 | Display :1 |\n|----------|--------------|------------|------------|\n| RDP | 3389 | 3389 | - |\n| VNC | 5900 | 5900 | 5901 |\n| SSH | 22 | - | - |\n| NoMachine | 4000 | 4000 | - |\n\n### 5. Tunnel Everything\nFor any remote desktop over internet:\n```bash\n# Local port forward\nssh -L LOCAL_PORT:TARGET:REMOTE_PORT user@JUMPHOST\n\n# Example: RDP via jumphost\nssh -L 13389:windows-pc:3389 user@jumphost\nxfreerdp /v:localhost:13389 /u:USER\n```\n\n### 6. Clipboard and Files\n| Tool | Clipboard | File Transfer |\n|------|-----------|---------------|\n| xfreerdp | `/clipboard` flag | `/drive:share,/path` |\n| vncviewer | Usually works | Separate SCP/SFTP |\n| SSH X11 | Needs xclip setup | SCP/SFTP |\n\n### 7. Save Working Configs (with consent)\nWhen a connection works, ask \"Want me to save this config for next time?\" If yes, save to `~/remote-desktop/hosts/`:\n```markdown\n# hostname.md\nhost: 192.168.1.50\nprotocol: rdp\nuser: admin\ntunnel: ssh user@jumphost -L 3389:192.168.1.50:3389\nresolution: 1920x1080\nnotes: Windows 11 dev machine\n```\nNever save passwords — only hostnames, users, and connection flags.\n\n## Common Traps\n\n- **Black screen after VNC connect** → Display manager not running or wrong display number. Try `:1` instead of `:0`, or start a VNC server: `vncserver :1`\n- **RDP disconnects immediately** → Check Network Level Authentication (NLA) settings, or add `/sec:tls` to xfreerdp\n- **X11 forwarding not working** → Ensure `X11Forwarding yes` in server's `/etc/ssh/sshd_config` and `ForwardX11 yes` in client config\n- **Slow VNC performance** → Use tighter encodings: `vncviewer -encoding tight HOST:1`\n- **\"Connection refused\"** → Service not running, firewall blocking, or wrong port. Check with `ss -tlnp | grep PORT`\n- **Clipboard not syncing** → xfreerdp needs `/clipboard`, VNC needs vncconfig running\n\n## Security & Privacy\n\n**Data that stays local:**\n- Host configurations in `~/remote-desktop/` (with user consent)\n- Connection preferences\n\n**This skill does NOT:**\n- Store passwords in plain text — use SSH keys or system keyring\n- Auto-save configs without asking first\n- Connect to hosts without explicit user command\n- Make any network requests itself (you run the commands)\n- Access any memory outside `~/remote-desktop/`\n\n**Before saving a host profile:** Always ask \"Want me to save this config for next time?\"\n\n## Scope\n\nThis skill ONLY:\n- Provides commands for remote desktop connections\n- Helps troubleshoot display and connection issues\n- Saves host profiles locally\n\nThis skill NEVER:\n- Stores credentials in plain text\n- Auto-connects to anything\n- Modifies SSH or system configs without explicit instruction\n\n## Related Skills\nInstall with `clawhub install <slug>` if user confirms:\n- `linux` — Linux system administration\n- `server` — Server setup and management\n- `network` — Network configuration and debugging\n- `sysadmin` — System administration tasks\n\n## Feedback\n\n- If useful: `clawhub star remote-desktop`\n- Stay updated: `clawhub sync`\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":1619,"installsAllTime":60,"installsCurrent":3,"stars":0,"versions":1},"createdAt":1771759490569,"updatedAt":1778491608600},"latestVersion":{"version":"1.0.0","createdAt":1771759490569,"changelog":"Initial release","license":null},"metadata":{"setup":[],"os":["linux","darwin","win32"],"systems":null},"owner":{"handle":"ivangdavila","userId":"s178jdk12x4qj3gs2se3etxf3h83h7ft","displayName":"Iván","image":"https://avatars.githubusercontent.com/u/81719670?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1779949010241}}