chiark / gitweb /
update TODO
[elogind.git] / man / systemd-suspend.service.xml
index dea778fbec661afa5e074de6c157f11287e65bf8..375c25576d5c798a8d672f4a15b7d434a237a45e 100644 (file)
@@ -6,6 +6,7 @@
   This file is part of systemd.
 
   Copyright 2012 Lennart Poettering
+  Copyright 2013 Zbigniew JÄ™drzejewski-Szmek
 
   systemd is free software; you can redistribute it and/or modify it
   under the terms of the GNU Lesser General Public License as published by
@@ -21,7 +22,8 @@
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 -->
 
-<refentry id="systemd-suspend.service">
+<refentry id="systemd-suspend.service"
+          xmlns:xi="http://www.w3.org/2001/XInclude">
 
         <refentryinfo>
                 <title>systemd-suspend.service</title>
         <refnamediv>
                 <refname>systemd-suspend.service</refname>
                 <refname>systemd-hibernate.service</refname>
+                <refname>systemd-hybrid-sleep.service</refname>
                 <refname>systemd-sleep</refname>
-                <refpurpose>systemd System Suspend/Hibernate Logic</refpurpose>
+                <refpurpose>System sleep state logic</refpurpose>
         </refnamediv>
 
         <refsynopsisdiv>
                 <para><filename>systemd-suspend.service</filename></para>
                 <para><filename>systemd-hibernate.service</filename></para>
-                <para><filename>/usr/lib/systemd/systemd-sleep</filename></para>
+                <para><filename>systemd-hybrid-sleep.service</filename></para>
+                <para><filename>/usr/lib/systemd/system-sleep</filename></para>
         </refsynopsisdiv>
 
         <refsect1>
                 <para><filename>systemd-suspend.service</filename> is
                 a system service that is pulled in by
                 <filename>suspend.target</filename> and is responsible
-                for the actual system suspend. Similar,
+                for the actual system suspend. Similarly,
                 <filename>systemd-hibernate.service</filename> is
                 pulled in by <filename>hibernate.target</filename> to
-                executed the actual hibernation.</para>
-
-                <para>Immediately before entering system suspend and
-                hibernation
-                <filename>systemd-suspend.service</filename> will run
-                all executables in
+                execute the actual hibernation. Finally,
+                <filename>systemd-hybrid-sleep.service</filename> is
+                pulled in by <filename>hybrid-sleep.target</filename>
+                to execute hybrid hibernation with system
+                suspend.</para>
+
+                <para>Immediately before entering system suspend
+                and/or hibernation
+                <filename>systemd-suspend.service</filename> (and the
+                other mentioned units, respectively) will run all
+                executables in
                 <filename>/usr/lib/systemd/system-sleep/</filename>
                 and pass two arguments to them. The first argument
-                will be "<literal>pre</literal>", the second either
-                "<literal>suspend</literal>" or
-                "<literal>hibernate</literal>", depending on the chosen
-                action. Immediately after leaving system suspend and
-                hibernation the same executables are run, but the
-                first argument is now "<literal>post</literal>". All
-                executables in this directory are executed in
-                parallel, and execution of the action is not continued
-                before all executables finished.</para>
+                will be <literal>pre</literal>, the second either
+                <literal>suspend</literal>,
+                <literal>hibernate</literal>, or
+                <literal>hybrid-sleep</literal> depending on the
+                chosen action. Immediately after leaving system
+                suspend and/or hibernation the same executables are run,
+                but the first argument is now
+                <literal>post</literal>. All executables in this
+                directory are executed in parallel, and execution of
+                the action is not continued until all executables
+                have finished.</para>
 
                 <para>Note that scripts or binaries dropped in
                 <filename>/usr/lib/systemd/system-sleep/</filename>
                 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.</para>
+                of system suspend/hibernation and resume, there are
+                much nicer interfaces available.</para>
+
+                <para>Note that
+                <filename>systemd-suspend.service</filename>,
+                <filename>systemd-hibernate.service</filename>, and
+                <filename>systemd-hybrid-sleep.service</filename>
+                should never be executed directly. Instead, trigger
+                system sleep states with a command such as
+                <literal>systemctl suspend</literal> or
+                similar.</para>
+
+                <para>Internally, this service will echo a string like
+                <literal>mem</literal> into
+                <filename>/sys/power/state</filename>, to trigger the
+                actual system suspend. What exactly is written
+                where can be configured in the <literal>[Sleep]</literal>
+                section of <filename>/etc/systemd/sleep.conf</filename> or a
+                <filename>sleep.conf.d</filename> file.
+                See <citerefentry><refentrytitle>systemd-sleep.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+                </para>
+        </refsect1>
+
+        <refsect1>
+                <title>Options</title>
+
+                <para><command>systemd-sleep</command> understands the
+                following commands:</para>
+
+                <variablelist>
+                        <xi:include href="standard-options.xml" xpointer="help" />
+                        <xi:include href="standard-options.xml" xpointer="version" />
+
+                        <varlistentry>
+                                <term><option>suspend</option></term>
+                                <term><option>hibernate</option></term>
+                                <term><option>hybrid-sleep</option></term>
 
+                                <listitem><para>Suspend, hibernate, or
+                                put the system to hybrid sleep.</para>
+                                </listitem>
+                        </varlistentry>
+                </variablelist>
         </refsect1>
 
         <refsect1>
                 <title>See Also</title>
                 <para>
+                        <citerefentry><refentrytitle>systemd-sleep.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-                        <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+                        <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
                         <citerefentry><refentrytitle>systemd-halt.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
                 </para>
         </refsect1>