remote-desktop
Connect to dev-secondary graphical desktop from dev-primary via VNC over SSH tunnel
Best use case
remote-desktop is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Connect to dev-secondary graphical desktop from dev-primary via VNC over SSH tunnel
Teams using remote-desktop should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/remote-desktop/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How remote-desktop Compares
| Feature / Agent | remote-desktop | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Connect to dev-secondary graphical desktop from dev-primary via VNC over SSH tunnel
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Remote Desktop — dev-secondary Connect to dev-secondary graphical desktop from dev-primary via VNC over SSH tunnel. ## Quick Start ```bash bash scripts/operations/connection/vnc-dev-secondary.sh ``` Script is fully self-contained: detects display+auth, auto-starts x11vnc if needed, opens tunnel, launches viewer. ## How It Works 1. Checks if x11vnc is listening on port 5900 2. If not: parses live Xorg `ps` entry to find display + auth file dynamically 3. Starts x11vnc (no sudo if vamsee owns display; sudo prompt if GDM/root owns it) 4. Opens SSH tunnel `localhost:5900 → dev-secondary:5900` 5. Launches `xtigervncviewer localhost:5900` ## Required Flags (Hard-Won) | Flag | Why Required | |---|---| | `-noshm` | MIT-SHM denied when x11vnc user ≠ X server owner | | `-noxdamage` | GNOME/Mutter compositor causes XIO crash via XDAMAGE | | `-noscr` | GNOME conflicts with RECORD extension scroll detection | | `-auth <explicit-path>` | `-auth guess` fails when running as root on GDM display | | `-o /dev/null` | Avoids stale root-owned log file permission errors | ## Auth File Location Resolved dynamically from `ps wwwaux | grep Xorg`: - **GDM only (no user login)**: `/run/user/120/gdm/Xauthority` — requires sudo - **User session active**: `/run/user/1000/gdm/Xauthority` — no sudo needed ## Persistent Setup (Optional) To avoid needing to start x11vnc each time, create a systemd service on dev-secondary: ```bash sudo tee /etc/systemd/system/x11vnc.service <<'EOF' [Unit] Description=x11vnc VNC server for display :0 After=display-manager.service Requires=display-manager.service [Service] ExecStart=/usr/bin/x11vnc -display :0 -auth /run/user/120/gdm/Xauthority -noshm -noxdamage -noscr -forever -nopw -listen localhost -rfbport 5900 Restart=on-failure RestartSec=3 [Install] WantedBy=graphical.target EOF sudo systemctl daemon-reload sudo systemctl enable --now x11vnc ``` Note: systemd service uses GDM auth path — update if user session display changes. ## Viewer Notes - `SetDesktopSize failed: 1` — harmless; physical display ignores client resize requests - `End of stream` immediately — x11vnc not running; rerun the script - `Connection refused` — SSH tunnel failed or nothing on port 5900
Related Skills
repo-sync-deleted-remote-branch-and-unrelated-history-recovery
Recover multi-repo sync failures caused by deleted upstream branches, stale git index locks, and local branches with unrelated history to the remote default branch.
test-oversized-skill
A test fixture skill that exceeds 200 lines with multiple H2/H3 sections for split testing.
interactive-report-generator
Generate interactive HTML reports with Plotly visualizations from data analysis results. Supports dashboards, charts, and professional styling.
data-validation-reporter
Generate interactive validation reports with quality scoring, missing data analysis, and type checking. Combines Pandas validation, Plotly visualization, and YAML configuration for comprehensive data quality reporting.
agent-os-framework
Generate standardized .agent-os directory structure with product documentation, mission, tech-stack, roadmap, and decision records. Enables AI-native workflows.
OrcaFlex Specialist Skill
```yaml
repo-ecosystem-hygiene
Interpret the daily read-only repo ecosystem hygiene audit and route remediation through approved workflows.
domain-knowledge-sweep
Systematic multi-source research of an engineering domain. Spawns parent issue → 6 research subissues (Standards, Academic, Industry, LinkedIn-marketing, Code-audit, Synthesis) → gap implementation subissues. Replaces LinkedIn-only extraction with defensible comprehensive sourcing.
subagent-write-verification
Independently verify subagent-claimed file writes with filesystem and git checks before treating the artifact as real, before committing it, and before referencing the path in downstream prompts.
git-operation-serialization-preflight
Before any commit, stash, merge, reset, rebase, or checkout in a multi-agent or shared-checkout environment, run a bounded preflight to detect active git writers and stale index/config locks, then serialize the mutating step under a single-writer guarantee.
public-knowledge-graph-governance
Maintain public-safe knowledge graph artifacts for llm-wiki and similar markdown knowledge bases. Use when changing graph generators, validators, schema docs, weekly freshness checks, or public/private source-scope boundaries.
llm-wiki-weekly-freshness
Class-level governance workflow for keeping llm-wiki-style markdown knowledge bases current, public-safe, graph/index-valid, and useful for code development. Use when reviewing llm-wiki architecture/content, scanning new LLM concepts, maintaining public knowledge graphs, producing an issue roadmap, or running recurring freshness cadence.