testsAndMisc/linux_configuration/features/systemd/monitor-autoconfig.service
Krzysztof kuhy Rudnicki ba7b502322
Some checks are pending
dependency freshness / dependencies on newest stable (push) Waiting to run
md-naming / markdown naming convention (push) Waiting to run
Pre-commit checks / pre-commit (${{ matrix.group }}) (mypy, mypy) (push) Waiting to run
Pre-commit checks / pre-commit (${{ matrix.group }}) (pylint, pylint) (push) Waiting to run
Pre-commit checks / pre-commit (${{ matrix.group }}) (rest, ) (push) Waiting to run
Pre-commit checks / pre-commit (${{ matrix.group }}) (shellcheck, shellcheck) (push) Waiting to run
Python tests / test (push) Waiting to run
repo-contract / repo contract (push) Waiting to run
Shell tests / shell-tests (push) Waiting to run
Shell tests / lib-tests (push) Waiting to run
Shell tests / arch-tests (push) Waiting to run
Monitors: survive boot, biggest is primary
The watcher started at the LightDM greeter, X refused it, and it hit
the systemd restart limit in 15 s, so DP-2 never came up. It now waits
for X, the unit passes XAUTHORITY, and i3 restarts it at login. The
biggest monitor is now primary and leftmost (DP-0 was hardcoded).
Prunes the oldest evidence file (60-file cap).

CI_GREEN_SKIP: main is red from a runner DNS outage (apt could not
resolve security.ubuntu.com), not code; failed jobs re-run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WzxdWWTekMNwEdyLgWRgTs
2026-11-12 08:03:06 +01:00

20 lines
603 B
Desktop File

[Unit]
Description=Every monitor at its best resolution and refresh rate, on hotplug
After=graphical-session.target
# An X restart kills the watcher (exit 1) and Restart= brings it back; a
# genuinely broken setup trips this limit and shows as a failed unit.
StartLimitIntervalSec=300
StartLimitBurst=5
[Service]
Type=simple
Environment=DISPLAY=:0
# The login's cookie; i3 may not have exported XAUTHORITY to systemd yet.
Environment=XAUTHORITY=%h/.Xauthority
ExecStart=/usr/bin/python3 @FEATURES_DIR@/monitor_autoconfig.py
Restart=on-failure
RestartSec=3s
[Install]
WantedBy=graphical-session.target