chiark / gitweb /
check for _POSIX_C_SOURCE instead of __USE_POSIX*
[elogind.git] / man / loginctl.xml
index 42485a498dc854948023cfa4f5a8b860ad1e9e6c..39534f1159b1888e16e888168c97e78ee63ad534 100644 (file)
@@ -21,7 +21,8 @@
   along with elogind; If not, see <http://www.gnu.org/licenses/>.
 -->
 
-<refentry id="loginctl" xmlns:xi="http://www.w3.org/2001/XInclude">
+<refentry id="loginctl"
+    xmlns:xi="http://www.w3.org/2001/XInclude">
 
   <refentryinfo>
     <title>loginctl</title>
@@ -61,8 +62,8 @@
 
     <para><command>loginctl</command> may be used to introspect and
     control the state of the
-    <citerefentry><refentrytitle>elogind</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-    login manager.</para>
+    <citerefentry><refentrytitle>elogind</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+    login manager</para>
   </refsect1>
 
   <refsect1>
         shown.</para></listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><option>--value</option></term>
+
+        <listitem>
+          <para>When printing properties with <command>show</command>,
+          only print the value, and skip the property name and
+          <literal>=</literal>.</para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><option>-a</option></term>
         <term><option>--all</option></term>
         <constant>SIGTERM</constant>.</para></listitem>
       </varlistentry>
 
-      <varlistentry>
-        <term><option>-n</option></term>
-        <term><option>--lines=</option></term>
-
-        <listitem><para>When used with <command>user-status</command>
-        and <command>session-status</command>, controls the number of
-        journal lines to show, counting from the most recent ones.
-        Takes a positive integer argument. Defaults to 10.</para>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry>
-        <term><option>-o</option></term>
-        <term><option>--output=</option></term>
-
-        <listitem><para>When used with <command>user-status</command>
-        and <command>session-status</command>, controls the formatting
-        of the journal entries that are shown. For the available
-        choices, see
-        <citerefentry><refentrytitle>journalctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
-        Defaults to <literal>short</literal>.</para></listitem>
-      </varlistentry>
-
       <xi:include href="user-system-options.xml" xpointer="host" />
       <xi:include href="user-system-options.xml" xpointer="machine" />
 
       </varlistentry>
 
       <varlistentry>
-        <term><command>session-status</command> <optional><replaceable>ID</replaceable>...</optional></term>
+        <term><command>session-status</command> <optional><replaceable>ID</replaceable></optional></term>
 
         <listitem><para>Show terse runtime status information about
         one or more sessions, followed by the most recent log data
         from the journal. Takes one or more session identifiers as
-        parameters. If no session identifiers are passed the status of
+        parameters. If no session identifiers are passed, the status of
         the caller's session is shown. This function is intended to
         generate human-readable output. If you are looking for
         computer-parsable output, use <command>show-session</command>
       </varlistentry>
 
       <varlistentry>
-        <term><command>show-session</command> <optional><replaceable>ID</replaceable>...</optional></term>
+        <term><command>show-session</command> <optional><replaceable>ID</replaceable></optional></term>
 
         <listitem><para>Show properties of one or more sessions or the
         manager itself. If no argument is specified, properties of the
         <term><command>activate</command> <optional><replaceable>ID</replaceable></optional></term>
 
         <listitem><para>Activate a session. This brings a session into
-        the foreground, if another session is currently in the
+        the foreground if another session is currently in the
         foreground on the respective seat. Takes a session identifier
-        as argument. If no argument is specified the session of the
+        as argument. If no argument is specified, the session of the
         caller is put into foreground.</para></listitem>
       </varlistentry>
 
       <varlistentry>
-        <term><command>lock-session</command> <optional><replaceable>ID</replaceable>...</optional></term>
-        <term><command>unlock-session</command> <optional><replaceable>ID</replaceable>...</optional></term>
+        <term><command>lock-session</command> <optional><replaceable>ID</replaceable></optional></term>
+        <term><command>unlock-session</command> <optional><replaceable>ID</replaceable></optional></term>
 
         <listitem><para>Activates/deactivates the screen lock on one
         or more sessions, if the session supports it. Takes one or
         more session identifiers as arguments. If no argument is
-        specified the session of the caller is locked/unlocked.
+        specified, the session of the caller is locked/unlocked.
         </para></listitem>
       </varlistentry>
 
       </varlistentry>
 
       <varlistentry>
-        <term><command>terminate-session</command> <replaceable>ID</replaceable>...</term>
+        <term><command>terminate-session</command> <replaceable>ID</replaceable></term>
 
         <listitem><para>Terminates a session. This kills all processes
         of the session and deallocates all resources attached to the
       </varlistentry>
 
       <varlistentry>
-        <term><command>kill-session</command> <replaceable>ID</replaceable>...</term>
+        <term><command>kill-session</command> <replaceable>ID</replaceable></term>
 
         <listitem><para>Send a signal to one or more processes of the
         session. Use <option>--kill-who=</option> to select which
       </varlistentry>
 
       <varlistentry>
-        <term><command>user-status</command> <optional><replaceable>USER</replaceable>...</optional></term>
+        <term><command>user-status</command> <optional><replaceable>USER</replaceable></optional></term>
 
         <listitem><para>Show terse runtime status information about
         one or more logged in users, followed by the most recent log
         data from the journal. Takes one or more user names or numeric
-        user IDs as parameters. If no parameters are passed the status
+        user IDs as parameters. If no parameters are passed, the status
         of the caller's user is shown. This function is intended to
         generate human-readable output. If you are looking for
         computer-parsable output, use <command>show-user</command>
       </varlistentry>
 
       <varlistentry>
-        <term><command>show-user</command> <optional><replaceable>USER</replaceable>...</optional></term>
+        <term><command>show-user</command> <optional><replaceable>USER</replaceable></optional></term>
 
         <listitem><para>Show properties of one or more users or the
         manager itself. If no argument is specified, properties of the
       </varlistentry>
 
       <varlistentry>
-        <term><command>enable-linger</command> <optional><replaceable>USER</replaceable>...</optional></term>
-        <term><command>disable-linger</command> <optional><replaceable>USER</replaceable>...</optional></term>
+        <term><command>enable-linger</command> <optional><replaceable>USER</replaceable></optional></term>
+        <term><command>disable-linger</command> <optional><replaceable>USER</replaceable></optional></term>
 
         <listitem><para>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.
+        argument. If no argument is specified, enables/disables
+        lingering for the user of the session of the caller.</para>
+
+        <para>See also <varname>KillUserProcesses=</varname> setting in
+        <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
         </para></listitem>
       </varlistentry>
 
       <varlistentry>
-        <term><command>terminate-user</command> <replaceable>USER</replaceable>...</term>
+        <term><command>terminate-user</command> <replaceable>USER</replaceable></term>
 
         <listitem><para>Terminates all sessions of a user. This kills
         all processes of all sessions of the user and deallocates all
       </varlistentry>
 
       <varlistentry>
-        <term><command>kill-user</command> <replaceable>USER</replaceable>...</term>
+        <term><command>kill-user</command> <replaceable>USER</replaceable></term>
 
         <listitem><para>Send a signal to all processes of a user. Use
         <option>--signal=</option> to select the signal to send.
       </varlistentry>
 
       <varlistentry>
-        <term><command>seat-status</command> <optional><replaceable>NAME</replaceable>...</optional></term>
+        <term><command>seat-status</command> <optional><replaceable>NAME</replaceable></optional></term>
 
         <listitem><para>Show terse runtime status information about
         one or more seats. Takes one or more seat names as parameters.
       </varlistentry>
 
       <varlistentry>
-        <term><command>show-seat</command> <optional><replaceable>NAME</replaceable>...</optional></term>
+        <term><command>show-seat</command> <optional><replaceable>NAME</replaceable></optional></term>
 
         <listitem><para>Show properties of one or more seats or the
         manager itself. If no argument is specified, properties of the
       </varlistentry>
 
       <varlistentry>
-        <term><command>attach</command> <replaceable>NAME</replaceable> <replaceable>DEVICE</replaceable>...</term>
+        <term><command>attach</command> <replaceable>NAME</replaceable> <replaceable>DEVICE</replaceable></term>
 
         <listitem><para>Persistently attach one or more devices to a
         seat. The devices should be specified via device paths in the
         <filename>/sys</filename> file system. To create a new seat,
         attach at least one graphics card to a previously unused seat
-        name. Seat names may consist only of a-z, A-Z, 0-9,
+        name. Seat names may consist only of a–z, A–Z, 0–9,
         <literal>-</literal> and <literal>_</literal> and must be
         prefixed with <literal>seat</literal>. To drop assignment of a
         device to a specific seat, just reassign it to a different
       </varlistentry>
 
       <varlistentry>
-        <term><command>terminate-seat</command> <replaceable>NAME</replaceable>...</term>
+        <term><command>terminate-seat</command> <replaceable>NAME</replaceable></term>
 
         <listitem><para>Terminates all sessions on a seat. This kills
         all processes of all sessions on the seat and deallocates all
       </varlistentry>
     </variablelist></refsect2>
 
+    <refsect2><title>System Commands</title><variablelist>
+    </variablelist></refsect2>
+    <varlistentry>
+      <term><command>poweroff</command></term>
+
+      <listitem>
+        <para>Print a wall message to all users, shut down and
+          power-off the system.</para>
+      </listitem>
+    </varlistentry>
+    <varlistentry>
+      <term><command>reboot <optional><replaceable>arg</replaceable></optional></command></term>
+
+      <listitem>
+        <para>Print a wall message to all users, shut down and
+          reboot the system.</para>
+
+        <para>If the optional argument
+        <replaceable>arg</replaceable> is given, it will be passed
+        as the optional argument to the
+        <citerefentry><refentrytitle>reboot</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+        system call. The value is architecture and firmware
+        specific. As an example, <literal>recovery</literal> might
+        be used to trigger system recovery, and
+        <literal>fota</literal> might be used to trigger a
+        <quote>firmware over the air</quote> update.</para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><command>suspend</command></term>
+
+      <listitem>
+        <para>Suspend the system.
+        </para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><command>hibernate</command></term>
+
+      <listitem>
+        <para>Hibernate the system.
+        </para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
+      <term><command>hybrid-sleep</command></term>
+
+      <listitem>
+        <para>Hibernate and suspend the system.</para>
+      </listitem>
+    </varlistentry>
   </refsect1>
-
   <refsect1>
     <title>Exit status</title>
 
     otherwise.</para>
   </refsect1>
 
+  <refsect1>
+    <title>Examples</title>
+
+    <example>
+      <title>Querying user status</title>
+
+      <programlisting>$ loginctl user-status
+fatima (1005)
+           Since: Sat 2016-04-09 14:23:31 EDT; 54min ago
+           State: active
+        Sessions: 5 *3
+            Unit: user-1005.slice
+                  ├─user@1005.service
+                    …
+                  ├─session-3.scope
+                    …
+                  └─session-5.scope
+                    ├─3473 login -- fatima
+                    └─3515 -zsh
+
+Apr 09 14:40:30 laptop login[2325]: pam_unix(login:session):
+                       session opened for user fatima by LOGIN(uid=0)
+Apr 09 14:40:30 laptop login[2325]: LOGIN ON tty3 BY fatima
+</programlisting>
+
+      <para>There are two sessions, 3 and 5. Session 3 is a graphical session,
+      marked with a star. The tree of processing including the two corresponding
+      scope units and the user manager unit are shown.</para>
+    </example>
+  </refsect1>
+
   <xi:include href="less-variables.xml" />
 
   <refsect1>
     <title>See Also</title>
     <para>
-      <citerefentry><refentrytitle>elogind</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry><refentrytitle>elogind</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
       <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
     </para>