X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=man%2Fsystemd-suspend.service.xml;h=9b8bad4791cb574507f77c674e35a41e4663eb00;hp=604aab6f6b54d3116a14a7bfc7b171f0f8c7f7fb;hb=5a5c72ca6ed88b7068e08b0ebc191a5b21991b62;hpb=bb31a4ac1997c189a344caf554f34c6aabc71aa7 diff --git a/man/systemd-suspend.service.xml b/man/systemd-suspend.service.xml index 604aab6f6..9b8bad479 100644 --- a/man/systemd-suspend.service.xml +++ b/man/systemd-suspend.service.xml @@ -45,6 +45,7 @@ systemd-suspend.service systemd-hibernate.service + systemd-hybrid-sleep.service systemd-sleep System sleep state logic @@ -52,6 +53,7 @@ systemd-suspend.service systemd-hibernate.service + systemd-hybrid-sleep.service /usr/lib/systemd/systemd-sleep @@ -64,19 +66,25 @@ for the actual system suspend. Similar, systemd-hibernate.service is pulled in by hibernate.target to - execute the actual hibernation. - - Immediately before entering system suspend and - hibernation - systemd-suspend.service will run - all executables in + execute the actual hibernation. Finally, + systemd-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 + systemd-suspend.service (and the + other mentioned units, respectively) will run all + executables in /usr/lib/systemd/system-sleep/ and pass two arguments to them. The first argument will be "pre", the second either - "suspend" or - "hibernate", depending on the + "suspend", + "hibernate", or + "hybrid-sleep" depending on the chosen action. Immediately after leaving system - suspend and hibernation the same executables are run, + suspend and/or hibernation the same executables are run, but the first argument is now "post". All executables in this directory are executed in parallel, and execution of @@ -87,15 +95,22 @@ /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 and resume there are much nicer - interfaces available. + of system suspend/hibernation and resume there are + much nicer interfaces available. Note that - systemd-suspend.service and - systemd-hibernate.service should - never be executed directly. Instead, trigger system - sleep states with a command such as "systemctl - suspend" or suchlike. + systemd-suspend.service, + systemd-hibernate.service and + systemd-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.