22 lines
831 B
Bash
Executable File
22 lines
831 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Run after systemd's 30-systemd-daemon-reload-user.hook. Image builds and
|
|
# offline installations have no running managers and must remain untouched.
|
|
if systemd-detect-virt --chroot || ! systemd-notify --booted; then
|
|
exit 0
|
|
fi
|
|
|
|
managers=$(systemctl list-units 'user@*.service' --state=running --no-legend --plain) || exit 1
|
|
result=0
|
|
while read -r unit _; do
|
|
[[ $unit =~ ^user@([0-9]+)\.service$ ]] || continue
|
|
user_id=${BASH_REMATCH[1]}
|
|
# Use the user's manager rather than pacman's root session. try-restart
|
|
# never starts a stopped service or changes its enablement.
|
|
if ! systemctl --user --machine="$user_id@.host" try-restart owed.service; then
|
|
echo ":: Could not restart OWE for user $user_id; restart owed.service in that user session." >&2
|
|
result=1
|
|
fi
|
|
done <<< "$managers"
|
|
exit "$result"
|