Remote Desktop
by @ivangdavila
Connect to remote desktops via RDP, VNC, and SSH X11 with secure tunneling and troubleshooting.
clawhub install remote-desktopπ About This Skill
name: Remote Desktop slug: remote-desktop version: 1.0.0 homepage: https://clawic.com/skills/remote-desktop description: Connect to remote desktops via RDP, VNC, and SSH X11 with secure tunneling and troubleshooting. metadata: {"clawdbot":{"emoji":"π₯οΈ","requires":{"bins":["ssh"]},"os":["linux","darwin","win32"]}}
Setup
On first use, read setup.md for integration guidelines and help the user with their question.
When to Use
User needs remote desktop access to another machine. Agent handles protocol selection, connection commands, tunnel setup, and troubleshooting display issues.
Architecture
Config lives in ~/remote-desktop/. See memory-template.md for structure.
~/remote-desktop/
βββ memory.md # Saved hosts, preferences
βββ hosts/ # Per-host connection profiles
Quick Reference
| Topic | File |
|-------|------|
| Setup process | setup.md |
| Memory template | memory-template.md |
| Protocol details | protocols.md |
| Troubleshooting | troubleshooting.md |
Core Rules
1. Protocol Selection
| Target OS | Best Protocol | Why | |-----------|---------------|-----| | Windows | RDP | Native, best performance | | Linux (desktop) | VNC or X11 | VNC for persistent, X11 for apps | | macOS | VNC (built-in) | Screen Sharing uses VNC | | Headless Linux | SSH + X11 forwarding | No desktop needed |2. Security First
3. Connection Commands
RDP to Windows:
# xfreerdp (recommended)
xfreerdp /v:HOST /u:USER /p:PASS /size:1920x1080 /dynamic-resolutionWith SSH tunnel first
ssh -L 3389:localhost:3389 user@jumphost
xfreerdp /v:localhost /u:USER
VNC:
# Direct (NOT recommended for internet)
vncviewer HOST:5901Via SSH tunnel (recommended)
ssh -L 5901:localhost:5901 user@HOST
vncviewer localhost:5901
SSH X11 forwarding:
# Single app
ssh -X user@HOST firefoxTrusted (faster, less secure)
ssh -Y user@HOST
4. Port Defaults
| Protocol | Default Port | Display :0 | Display :1 | |----------|--------------|------------|------------| | RDP | 3389 | 3389 | - | | VNC | 5900 | 5900 | 5901 | | SSH | 22 | - | - | | NoMachine | 4000 | 4000 | - |5. Tunnel Everything
For any remote desktop over internet:# Local port forward
ssh -L LOCAL_PORT:TARGET:REMOTE_PORT user@JUMPHOSTExample: RDP via jumphost
ssh -L 13389:windows-pc:3389 user@jumphost
xfreerdp /v:localhost:13389 /u:USER
6. Clipboard and Files
| Tool | Clipboard | File Transfer | |------|-----------|---------------| | xfreerdp |/clipboard flag | /drive:share,/path |
| vncviewer | Usually works | Separate SCP/SFTP |
| SSH X11 | Needs xclip setup | SCP/SFTP |7. Save Working Configs (with consent)
When a connection works, ask "Want me to save this config for next time?" If yes, save to~/remote-desktop/hosts/:
# hostname.md
host: 192.168.1.50
protocol: rdp
user: admin
tunnel: ssh user@jumphost -L 3389:192.168.1.50:3389
resolution: 1920x1080
notes: Windows 11 dev machine
Never save passwords β only hostnames, users, and connection flags.Common Traps
:1 instead of :0, or start a VNC server: vncserver :1/sec:tls to xfreerdpX11Forwarding yes in server's /etc/ssh/sshd_config and ForwardX11 yes in client configvncviewer -encoding tight HOST:1ss -tlnp | grep PORT/clipboard, VNC needs vncconfig runningSecurity & Privacy
Data that stays local:
~/remote-desktop/ (with user consent)This skill does NOT:
~/remote-desktop/Before saving a host profile: Always ask "Want me to save this config for next time?"
Scope
This skill ONLY:
This skill NEVER:
Related Skills
Install withclawhub install if user confirms:
linux β Linux system administrationserver β Server setup and managementnetwork β Network configuration and debuggingsysadmin β System administration tasksFeedback
clawhub star remote-desktopclawhub syncβ‘ When to Use
User needs remote desktop access to another machine. Agent handles protocol selection, connection commands, tunnel setup, and troubleshooting display issues.
βοΈ Configuration
On first use, read setup.md for integration guidelines and help the user with their question.