mirror of
https://github.com/dredx/prole.git
synced 2026-09-23 12:03:59 +00:00
- Ensure dashboard service doesn't create an ordering cycle with `multi-user.target`. - Verify service safely attaches to a virtual terminal (VT) and passes VT to Xorg. - Ensure no `su` usage by default in the service. - Validate script behavior for passing VT and `-keeptty` options to Xorg. chore(dashboard): update systemd unit to avoid VT conflicts and improve logging - Remove `After` and `Wants` directives for `multi-user.target` to prevent conflicts. - Add `TTYPath`, `StandardInput`, and related options for VT attachment. - Ensure `ExecStopPost` restores getty service for the dashboard VT. fix(dashboard): improve Xorg resolution and clean up script logic - Dynamically determine Xorg executable location in `dashboard.sh`. - Pass VT, display, and `-keeptty` to Xorg to improve script reliability. fix(mariadb): correct exFAT mount options for external storage - Avoid `chown` failures by setting root ownership with group access for `mysql`. - Update external mount options to `uid=0,gid=mysql,umask=0002`. cleanup(mariadb): remove unnecessary owner/group permissions from migration marker task
41 lines
1.0 KiB
Django/Jinja
41 lines
1.0 KiB
Django/Jinja
[Unit]
|
|
Description=Prole console dashboard (X + conky)
|
|
After=systemd-user-sessions.service
|
|
Wants=systemd-user-sessions.service
|
|
|
|
# If a graphical desktop is running, starting this service will stop it.
|
|
Conflicts=graphical.target
|
|
Before=graphical.target
|
|
|
|
# If a getty is running on the dashboard VT, stop it so Xorg can take over.
|
|
Conflicts=getty@tty{{ dashboard_vt }}.service
|
|
|
|
[Service]
|
|
Type=simple
|
|
|
|
# Attach the service to the dashboard VT so Xorg can take over the display.
|
|
TTYPath=/dev/tty{{ dashboard_vt }}
|
|
StandardInput=tty
|
|
StandardOutput=journal+console
|
|
StandardError=journal+console
|
|
TTYReset=yes
|
|
TTYVHangup=yes
|
|
TTYVTDisallocate=yes
|
|
|
|
Environment=DASHBOARD_VT={{ dashboard_vt }}
|
|
|
|
ExecStart={{ dashboard_script_dest }}
|
|
|
|
# When the dashboard stops, try to restore the login prompt on that VT.
|
|
ExecStopPost=-/usr/bin/systemctl --no-block start getty@tty{{ dashboard_vt }}.service
|
|
|
|
Restart=always
|
|
RestartSec=2
|
|
|
|
# Ensure X/conky are terminated when the service stops.
|
|
KillMode=control-group
|
|
TimeoutStopSec=10
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|