Containerized x11vnc for real-desktop access on the site hosts #37

Merged
parkerhdavis merged 2 commits from site-vnc-desktops into main 2026-10-12 01:10:00 -06:00
parkerhdavis commented 2026-10-12 01:09:54 -06:00 (Migrated from github.com)

Each site host (phd-beelink, phd-tower, phd-razer) now serves its machine's real X session through Pangolin's browser VNC client.

  • New build context x11vnc/ (Dockerfile + entrypoint) running x11vnc in a container, per the repo's build pattern — no host-level systemd service. The host's X socket and LightDM's Xauthority are bind-mounted read-only, so the resource lands in the actual logged-in session (greeter included after a reboot), not a sandbox.
  • Findings baked in: the Xauthority cookie entry is keyed by hostname, so the container sets hostname: from X_HOSTNAME in .env; DISPLAY uses the unix: file-socket transport explicitly (the abstract transport's auth lookup fails in a container); -noshm because containers can't attach the host's MIT-SHM segments.
  • VNC password is the host's DESKTOP_PASSWORD from .env (VNC auth uses only its first 8 characters); password-only, no username.
  • Verified end-to-end on phd-razer: authenticated vncdotool session capturing the real Cinnamon desktop through loopback :5900. Backend in the Pangolin dashboard resource: localhost:5900.
Each site host (phd-beelink, phd-tower, phd-razer) now serves its machine's real X session through Pangolin's browser VNC client. - New build context x11vnc/ (Dockerfile + entrypoint) running x11vnc in a container, per the repo's build pattern — no host-level systemd service. The host's X socket and LightDM's Xauthority are bind-mounted read-only, so the resource lands in the actual logged-in session (greeter included after a reboot), not a sandbox. - Findings baked in: the Xauthority cookie entry is keyed by hostname, so the container sets hostname: from X_HOSTNAME in .env; DISPLAY uses the unix: file-socket transport explicitly (the abstract transport's auth lookup fails in a container); -noshm because containers can't attach the host's MIT-SHM segments. - VNC password is the host's DESKTOP_PASSWORD from .env (VNC auth uses only its first 8 characters); password-only, no username. - Verified end-to-end on phd-razer: authenticated vncdotool session capturing the real Cinnamon desktop through loopback :5900. Backend in the Pangolin dashboard resource: localhost:5900.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
parker/cumulus!37
No description provided.