Files
homelab/ansible/roles/jmri/templates/jmri-xpra.service.j2
Hermes Agent service account 62e9f13a45 jmri: replace TigerVNC with Xpra for JMRI GUI display
VNC had window management issues and some dialogs wouldn't open correctly.
Xpra runs in rootless mode — each JMRI window appears natively on the
client without a VNC client or XQuartz required.

Changes:
- Remove tigervnc-standalone-server, jmri-vnc.service, .vnc/ directory
- Install xpra, deploy jmri-xpra.service.j2 (systemd unit)
- Update jmri-gui wrapper: DISPLAY=:100, attach instructions printed on launch
- Update defaults: drop VNC vars, add jmri_xpra_display=100
- Rename handler: Restart jmri-vnc -> Restart jmri-xpra

Connect from macOS/Linux:
  xpra attach ssh://jmri@main-street-station/100
2026-08-01 20:14:49 -05:00

27 lines
588 B
Django/Jinja

[Unit]
Description=Xpra virtual display for JMRI (:{{ jmri_xpra_display }})
After=network.target
# Start before jmri.service so the display is ready when JMRI launches
Before=jmri.service
[Service]
Type=simple
User={{ jmri_user }}
Group={{ jmri_group }}
ExecStart=/usr/bin/xpra start \
:{{ jmri_xpra_display }} \
--daemon=no \
--mdns=no \
--notifications=no \
--systemd-run=no \
--pulseaudio=no \
--speaker=off \
--microphone=off \
--video-encoders=none \
--start-via-proxy=no
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target