Add optional systemd user service #17

Closed
opened 2026-05-05 02:16:52 -04:00 by JackFrostbyte · 1 comment

Title:
Add optional systemd user service

Description:
Add an optional systemd user service so RGB Aura can start automatically after login.

Scope:

  • Provide a user-level systemd service file.
  • Document installation and removal.
  • Ensure the service starts only after the graphical/session environment is ready enough.
  • Avoid requiring root unless absolutely necessary.

Acceptance criteria:

  • User can install the service manually.
  • User can enable/disable/start/stop the service.
  • Service runs the main aurora controller.
  • Documentation explains how to recover if it fails.
Title: Add optional systemd user service Description: Add an optional systemd user service so RGB Aura can start automatically after login. Scope: - Provide a user-level systemd service file. - Document installation and removal. - Ensure the service starts only after the graphical/session environment is ready enough. - Avoid requiring root unless absolutely necessary. Acceptance criteria: - User can install the service manually. - User can enable/disable/start/stop the service. - Service runs the main aurora controller. - Documentation explains how to recover if it fails.
Author
Owner

Implemented optional systemd user service support.

Completed:

  • Added systemd/user/rgb-aura.service
  • Added focused documentation in docs/systemd-user-service.md
  • Service runs from /home/psyco/Projects/rgb-aura
  • Service uses /home/psyco/Projects/rgb-aura/.venv/bin/python
  • Service starts RGB Aura with --animation-speed 1.25 --leave-dark-blue
  • Service starts after and wants app-OpenRGB@autostart.service
  • Added TimeoutStopSec=20 to allow clean shutdown cleanup
  • Added SIGTERM handling so systemctl --user stop rgb-aura.service exits cleanly
  • Fixed continuous runtime mode so cycles: null and duration_seconds: null no longer fall back to one scheduler cycle
  • Updated dry-run display so continuous mode shows as Mode: continuous

Validated:

  • ruff format src/rgb_aura
  • ruff check src/rgb_aura scripts tests
  • python -m rgb_aura.main --dry-run --animation-speed 1.25
  • Confirmed dry-run remains hardware-free and exits with code 0
  • Confirmed service starts and stays running
  • Confirmed service logs Runtime mode: continuous
  • Confirmed systemctl --user stop rgb-aura.service triggers SIGTERM cleanup
  • Confirmed shutdown restores active RGB Aura zones to dark blue
  • Confirmed service stop exits with status=0/SUCCESS

Notes:

  • Service is optional and is not installed automatically.
  • Service is a user service, not a system-wide root service.
  • Reserved ARGB zone remains untouched.
  • Animation visuals were not changed.

Implemented in PR #38.

Implemented optional systemd user service support. Completed: - Added `systemd/user/rgb-aura.service` - Added focused documentation in `docs/systemd-user-service.md` - Service runs from `/home/psyco/Projects/rgb-aura` - Service uses `/home/psyco/Projects/rgb-aura/.venv/bin/python` - Service starts RGB Aura with `--animation-speed 1.25 --leave-dark-blue` - Service starts after and wants `app-OpenRGB@autostart.service` - Added `TimeoutStopSec=20` to allow clean shutdown cleanup - Added SIGTERM handling so `systemctl --user stop rgb-aura.service` exits cleanly - Fixed continuous runtime mode so `cycles: null` and `duration_seconds: null` no longer fall back to one scheduler cycle - Updated dry-run display so continuous mode shows as `Mode: continuous` Validated: - `ruff format src/rgb_aura` - `ruff check src/rgb_aura scripts tests` - `python -m rgb_aura.main --dry-run --animation-speed 1.25` - Confirmed dry-run remains hardware-free and exits with code `0` - Confirmed service starts and stays running - Confirmed service logs `Runtime mode: continuous` - Confirmed `systemctl --user stop rgb-aura.service` triggers SIGTERM cleanup - Confirmed shutdown restores active RGB Aura zones to dark blue - Confirmed service stop exits with `status=0/SUCCESS` Notes: - Service is optional and is not installed automatically. - Service is a user service, not a system-wide root service. - Reserved ARGB zone remains untouched. - Animation visuals were not changed. Implemented in PR #38.
Sign in to join this conversation.
No labels
No project
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
JackFrostbyte/rgb-aura#17
No description provided.