Hi
On Mon, 20 Mar 2023 23:02:20 -0600 Joe Zeff wrote:
Years ago I created a little script to play an .mp3 as a wake-up
alarm, but
there was a little problem. I have my box set to turn itself back on after
a power drop if it was on before, but if it happens late at night, I won't
be logged in in the morning, and there wouldn't be any sound.
systemd provides a way to achieve that with:
loginctl enable-linger LOGNAME
From man loginctl:
enable-linger [USER...], disable-linger [USER...]
Enable/disable user lingering for one or more users. If enabled for
a specific user, a user manager is spawned for the user at boot and
kept around after logouts. This allows users who are not logged in
to run long-running services. Takes one or more user names or
numeric UIDs as argument. If no argument is specified,
enables/disables lingering for the user of the session of the
caller.
As in addition PipeWire is launched with a user systemd socket/service that
should work.
A systemd user manager creates the XDG_RUNTIME_DIR (/run/user/UID) and has
this variable in its environment:
systemctl --user show-environment
<snip>
XDG_RUNTIME_DIR=/run/user/1000
--
francis