uselessd-suspend.service, uselessd-hibernate.service, uselessd-hybrid-sleep.service, uselessd-sleep — System sleep state logic
uselessd-suspend.service
uselessd-hibernate.service
uselessd-hybrid-sleep.service
/usr/lib/systemd/system-sleep
uselessd-suspend.service
is
a system service that is pulled in by
suspend.target
and is responsible
for the actual system suspend. Similarly,
uselessd-hibernate.service
is
pulled in by hibernate.target
to
execute the actual hibernation. Finally,
uselessd-hybrid-sleep.service
is
pulled in by hybrid-sleep.target
to execute hybrid hibernation with system
suspend.
Immediately before entering system suspend
and/or hibernation
uselessd-suspend.service
(and the
other mentioned units, respectively) will run all
shell scripts with the .sh extension in
/usr/lib/systemd/system-sleep/.
Note that scripts dropped in
/usr/lib/systemd/system-sleep/
are intended for local use only and should be
considered hacks. If applications want to be notified
of system suspend/hibernation and resume, there are
much nicer interfaces available.
Note that
uselessd-suspend.service
,
uselessd-hibernate.service
, and
uselessd-hybrid-sleep.service
should never be executed directly. Instead, trigger
system sleep states with a command such as
"systemctl suspend
" or
similar.
Internally, this service will echo a string like
"mem
" into
/sys/power/state
, to trigger the
actual system suspend. What exactly is written
where can be configured in the "[Sleep]
"
section of /etc/systemd/sleep.conf
.
See systemd-sleep.conf(5).