#!/bin/bash
-if systemctl --user is-system-running > /dev/null; then
- exit 0
-fi
+users="$(systemctl list-units | \
+ sed -nE 's/.*user@([0-9]+)\.service .*loaded active running.*/\1/p' | \
+ xargs -n1 id -un)"
-echo -e "# systemctl --user --failed"
-systemctl --user --failed
-exit 1
+error=0
+for user in $users; do
+ homedir="$(getent passwd "$user"|cut -d: -f6)"
+ for timer in "$homedir"/.config/systemd/user/*.timer; do
+ if ! [ -f "$timer" ]; then
+ continue
+ fi
+ timerunit="$(basename "$timer")"
+ if ! systemctl --user -M"$user@" is-enabled "$timerunit" > /dev/null; then
+ echo "disabled timer $timer"
+ error=1
+ fi
+ if ! systemctl --user -M"$user@" is-active "$timerunit" > /dev/null; then
+ echo "inactive timer $timer"
+ error=1
+ fi
+ done
+
+ if systemctl --user -M "$user@" is-system-running > /dev/null; then
+ continue
+ fi
+
+ echo -e "# systemctl --user -M "$user@" --failed"
+ systemctl --user -M "$user@" --failed
+ error=1
+done
+
+exit "$error"