<?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"> <!-- This file is part of systemd. Copyright 2010 Lennart Poettering 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 the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. systemd is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with systemd; If not, see <http://www.gnu.org/licenses/>. --> <refentry id="loginctl"> <refentryinfo> <title>loginctl</title> <productname>systemd</productname> <authorgroup> <author> <contrib>Developer</contrib> <firstname>Lennart</firstname> <surname>Poettering</surname> <email>lennart@poettering.net</email> </author> </authorgroup> </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 <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">COMMAND</arg> <arg choice="opt" rep="repeat">NAME</arg></command> </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>--help</option></term> <term><option>-h</option></term> <listitem><para>Prints a short help text and exits.</para></listitem> </varlistentry> <varlistentry> <term><option>--version</option></term> <listitem><para>Prints a short version string and exits.</para></listitem> </varlistentry> <varlistentry> <term><option>--property=</option></term> <term><option>-p</option></term> <listitem><para>When showing session/user 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>--all</option></term> <term><option>-a</option></term> <listitem><para>When showing unit/job/manager properties, show all properties regardless whether they are set or not.</para></listitem> </varlistentry> <varlistentry> <term><option>--no-pager</option></term> <listitem><para>Do not pipe output into a pager.</para></listitem> </varlistentry> <varlistentry> <term><option>--no-ask-password</option></term> <listitem><para>Don't query the user for authentication for privileged operations.</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>--signal=</option></term> <term><option>-s</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 SIGTERM, SIGINT or SIGSTOP. If omitted defaults to <option>SIGTERM</option>.</para></listitem> </varlistentry> <varlistentry> <term><option>-H</option></term> <term><option>--host</option></term> <listitem><para>Execute operation remotely. Specify a hostname, or username and hostname separated by @, to connect to. This will use SSH to talk to the remote login manager instance.</para></listitem> </varlistentry> <varlistentry> <term><option>-P</option></term> <term><option>--privileged</option></term> <listitem><para>Acquire privileges via PolicyKit before executing the operation.</para></listitem> </varlistentry> </variablelist> <para>The following commands are understood:</para> <variablelist> <varlistentry> <term><command>list-sessions</command></term> <listitem><para>List current sessions.</para></listitem> </varlistentry> <varlistentry> <term><command>session-status [ID...]</command></term> <listitem><para>Show terse runtime status information about one or more sessions. 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 [ID...]</command></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 is 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 [ID...]</command></term> <listitem><para>Activate one or more sessions. This brings one or more sessions into the foreground, if another session is currently in the foreground on the respective seat.</para></listitem> </varlistentry> <varlistentry> <term><command>lock-session [ID...]</command></term> <term><command>unlock-session [ID...]</command></term> <listitem><para>Activates/deactivates the screen lock on one or more sessions, if the session supports it.</para></listitem> </varlistentry> <varlistentry> <term><command>lock-sessions</command></term> <listitem><para>Activate the screen lock on all current sessions supporting it.</para></listitem> </varlistentry> <varlistentry> <term><command>terminate-session [ID...]</command></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 [ID...]</command></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> <varlistentry> <term><command>list-users</command></term> <listitem><para>List currently logged in users.</para></listitem> </varlistentry> <varlistentry> <term><command>user-status [USER...]</command></term> <listitem><para>Show terse runtime status information about one or more logged in users. This function is intended to generate human-readable output. If you are looking for computer-parsable output, use <command>show-user</command> instead. Users may be specified by their usernames or numeric user IDs.</para></listitem> </varlistentry> <varlistentry> <term><command>show-user [USER...]</command></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 is 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 [USER...]</command></term> <term><command>disable-linger [USER...]</command></term> <listitem><para>Enable/disable user lingering for one or more users. If enabled for a specific user a user manager is spawned for him/her at boot, and kept around after logouts. This allows users who aren't logged in to run long-running services.</para></listitem> </varlistentry> <varlistentry> <term><command>terminate-user [USER...]</command></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 [USER...]</command></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> <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 [NAME...]</command></term> <listitem><para>Show terse runtime status information about one or more seats. 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 [NAME...]</command></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 [NAME] [DEVICE...]</command></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, "-" and "_" and must be prefixed with "seat". 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 [NAME...]</command></term> <listitem><para>Terminates all sessions on a seat. This kills all processes of all sessions on a seat and deallocates all runtime resources attached to them.</para></listitem> </varlistentry> </variablelist> </refsect1> <refsect1> <title>Exit status</title> <para>On success 0 is returned, a non-zero failure code otherwise.</para> </refsect1> <refsect1> <title>Environment</title> <variablelist> <varlistentry> <term><varname>$SYSTEMD_PAGER</varname></term> <listitem><para>Pager to use when <option>--no-pager</option> is not given; overrides <varname>$PAGER</varname>. Setting this to an empty string or the value <literal>cat</literal> is equivalent to passing <option>--no-pager</option>.</para></listitem> </varlistentry> </variablelist> </refsect1> <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>