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=d3e08a8f1dacdf0df6df349e49405c6dc3ffb2d9;hb=46ba8aae2b82bc5c87ba347e6bf914ecd5e9d51e;hpb=34511ca7b166b0e89d08ff9870b0cf2624a7815f diff --git a/man/systemd-suspend.service.xml b/man/systemd-suspend.service.xml index d3e08a8f1..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 - executed 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.