| <?xml version='1.0'?> <!--*-nxml-*--> |
| <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
| "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> |
| |
| <!-- |
| SPDX-License-Identifier: LGPL-2.1+ |
| --> |
| |
| <refentry id="loginctl" conditional='ENABLE_LOGIND' |
| xmlns:xi="http://www.w3.org/2001/XInclude"> |
| |
| <refentryinfo> |
| <title>loginctl</title> |
| <productname>systemd</productname> |
| </refentryinfo> |
| |
| <refmeta> |
| <refentrytitle>loginctl</refentrytitle> |
| <manvolnum>1</manvolnum> |
| </refmeta> |
| |
| <refnamediv> |
| <refname>loginctl</refname> |
| <refpurpose>Control the systemd login manager</refpurpose> |
| </refnamediv> |
| |
| <refsynopsisdiv> |
| <cmdsynopsis> |
| <command>loginctl</command> |
| <arg choice="opt" rep="repeat">OPTIONS</arg> |
| <arg choice="req">COMMAND</arg> |
| <arg choice="opt" rep="repeat">NAME</arg> |
| </cmdsynopsis> |
| </refsynopsisdiv> |
| |
| <refsect1> |
| <title>Description</title> |
| |
| <para><command>loginctl</command> may be used to introspect and |
| control the state of the |
| <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry> |
| login manager |
| <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para> |
| </refsect1> |
| |
| <refsect1> |
| <title>Options</title> |
| |
| <para>The following options are understood:</para> |
| |
| <variablelist> |
| <varlistentry> |
| <term><option>--no-ask-password</option></term> |
| |
| <listitem><para>Do not query the user for authentication for |
| privileged operations.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>-p</option></term> |
| <term><option>--property=</option></term> |
| |
| <listitem><para>When showing session/user/seat properties, |
| limit display to certain properties as specified as argument. |
| If not specified, all set properties are shown. The argument |
| should be a property name, such as |
| <literal>Sessions</literal>. If specified more than once, all |
| properties with the specified names are |
| shown.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>--value</option></term> |
| |
| <listitem><para>When showing session/user/seat properties, |
| 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> |
| |
| <listitem><para>When showing session/user/seat properties, |
| show all properties regardless of whether they are set or |
| not.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>-l</option></term> |
| <term><option>--full</option></term> |
| |
| <listitem><para>Do not ellipsize process tree entries.</para> |
| </listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>--kill-who=</option></term> |
| |
| <listitem><para>When used with |
| <command>kill-session</command>, choose which processes to |
| kill. Must be one of <option>leader</option>, or |
| <option>all</option> to select whether to kill only the leader |
| process of the session or all processes of the session. If |
| omitted, defaults to <option>all</option>.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><option>-s</option></term> |
| <term><option>--signal=</option></term> |
| |
| <listitem><para>When used with <command>kill-session</command> |
| or <command>kill-user</command>, choose which signal to send |
| to selected processes. Must be one of the well known signal |
| specifiers, such as <constant>SIGTERM</constant>, |
| <constant>SIGINT</constant> or <constant>SIGSTOP</constant>. |
| If omitted, defaults to |
| <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" /> |
| |
| <xi:include href="standard-options.xml" xpointer="no-pager" /> |
| <xi:include href="standard-options.xml" xpointer="no-legend" /> |
| <xi:include href="standard-options.xml" xpointer="help" /> |
| <xi:include href="standard-options.xml" xpointer="version" /> |
| </variablelist> |
| </refsect1> |
| |
| <refsect1> |
| <title>Commands</title> |
| |
| <para>The following commands are understood:</para> |
| |
| <refsect2><title>Session Commands</title><variablelist> |
| |
| <varlistentry> |
| <term><command>list-sessions</command></term> |
| |
| <listitem><para>List current sessions.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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 |
| 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> |
| instead.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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 |
| manager will be shown. If a session ID is specified, |
| properties of the session are shown. By default, empty |
| properties are suppressed. Use <option>--all</option> to show |
| those too. To select specific properties to show, use |
| <option>--property=</option>. This command is intended to be |
| used whenever computer-parsable output is required. Use |
| <command>session-status</command> if you are looking for |
| formatted human-readable output.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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 |
| foreground on the respective seat. Takes a session identifier |
| 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> |
| |
| <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. |
| </para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><command>lock-sessions</command></term> |
| <term><command>unlock-sessions</command></term> |
| |
| <listitem><para>Activates/deactivates the screen lock on all |
| current sessions supporting it. </para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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 |
| session. </para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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 |
| process to kill. Use <option>--signal=</option> to select the |
| signal to send.</para></listitem> |
| </varlistentry> |
| </variablelist></refsect2> |
| |
| <refsect2><title>User Commands</title><variablelist> |
| <varlistentry> |
| <term><command>list-users</command></term> |
| |
| <listitem><para>List currently logged in users. |
| </para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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 |
| is shown for the user of the session of the caller. This |
| function is intended to generate human-readable output. If you |
| are looking for computer-parsable output, use |
| <command>show-user</command> instead.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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 |
| manager will be shown. If a user is specified, properties of |
| the user are shown. By default, empty properties are |
| suppressed. Use <option>--all</option> to show those too. To |
| select specific properties to show, use |
| <option>--property=</option>. This command is intended to be |
| used whenever computer-parsable output is required. Use |
| <command>user-status</command> if you are looking for |
| formatted human-readable output.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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.</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> |
| |
| <listitem><para>Terminates all sessions of a user. This kills |
| all processes of all sessions of the user and deallocates all |
| runtime resources attached to the user.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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. |
| </para></listitem> |
| </varlistentry> |
| </variablelist></refsect2> |
| |
| <refsect2><title>Seat Commands</title><variablelist> |
| <varlistentry> |
| <term><command>list-seats</command></term> |
| |
| <listitem><para>List currently available seats on the local |
| system.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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. |
| If no seat names are passed the status of the caller's |
| session's seat is shown. This function is intended to generate |
| human-readable output. If you are looking for |
| computer-parsable output, use <command>show-seat</command> |
| instead.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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 |
| manager will be shown. If a seat is specified, properties of |
| the seat are shown. By default, empty properties are |
| suppressed. Use <option>--all</option> to show those too. To |
| select specific properties to show, use |
| <option>--property=</option>. This command is intended to be |
| used whenever computer-parsable output is required. Use |
| <command>seat-status</command> if you are looking for |
| formatted human-readable output.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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, |
| <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 |
| seat, or use <command>flush-devices</command>. |
| </para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <term><command>flush-devices</command></term> |
| |
| <listitem><para>Removes all device assignments previously |
| created with <command>attach</command>. After this call, only |
| automatically generated seats will remain, and all seat |
| hardware is assigned to them.</para></listitem> |
| </varlistentry> |
| |
| <varlistentry> |
| <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 |
| runtime resources attached to them.</para></listitem> |
| </varlistentry> |
| </variablelist></refsect2> |
| |
| </refsect1> |
| |
| <refsect1> |
| <title>Exit status</title> |
| |
| <para>On success, 0 is returned, a non-zero failure code |
| 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>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>systemd-logind.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>, |
| <citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> |
| </para> |
| </refsect1> |
| |
| </refentry> |