2011-07-14 00:37:53 +04:00
<?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
2012-04-12 02:20:58 +04:00
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
2011-07-14 00:37:53 +04:00
(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
2012-04-12 02:20:58 +04:00
Lesser General Public License for more details.
2011-07-14 00:37:53 +04:00
2012-04-12 02:20:58 +04:00
You should have received a copy of the GNU Lesser General Public License
2011-07-14 00:37:53 +04:00
along with systemd; If not, see <http: / / w w w . g n u . o r g / l i c e n s e s /> .
-->
2014-02-12 09:55:38 +04:00
<refentry id= "loginctl" conditional= 'ENABLE_LOGIND'
xmlns:xi="http://www.w3.org/2001/XInclude">
2011-07-14 00:37:53 +04:00
<refentryinfo >
2012-03-26 22:58:47 +04:00
<title > loginctl</title>
2011-07-14 00:37:53 +04:00
<productname > systemd</productname>
<authorgroup >
<author >
<contrib > Developer</contrib>
<firstname > Lennart</firstname>
<surname > Poettering</surname>
<email > lennart@poettering.net</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta >
2012-03-26 22:58:47 +04:00
<refentrytitle > loginctl</refentrytitle>
2011-07-14 00:37:53 +04:00
<manvolnum > 1</manvolnum>
</refmeta>
<refnamediv >
2012-03-26 22:58:47 +04:00
<refname > loginctl</refname>
2011-07-14 00:37:53 +04:00
<refpurpose > Control the systemd login manager</refpurpose>
</refnamediv>
<refsynopsisdiv >
<cmdsynopsis >
2013-07-07 06:22:05 +04:00
<command > loginctl</command>
<arg choice= "opt" rep= "repeat" > OPTIONS</arg>
<arg choice= "req" > COMMAND</arg>
<arg choice= "opt" rep= "repeat" > NAME</arg>
2011-07-14 00:37:53 +04:00
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 >
<title > Description</title>
2012-03-26 22:58:47 +04:00
<para > <command > loginctl</command> may be used to
2011-07-14 00:37:53 +04:00
introspect and control the state of the
<citerefentry > <refentrytitle > systemd</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry>
2012-06-01 02:14:07 +04:00
login manager <citerefentry > <refentrytitle > systemd-logind.service</refentrytitle> <manvolnum > 8</manvolnum> </citerefentry> .</para>
2011-07-14 00:37:53 +04:00
</refsect1>
<refsect1 >
<title > Options</title>
<para > The following options are understood:</para>
<variablelist >
2013-12-21 23:20:29 +04:00
<varlistentry >
<term > <option > --no-legend</option> </term>
<listitem >
<para > Do not print the legend,
i.e. the column headers and
the footer.</para>
</listitem>
</varlistentry>
2013-11-07 11:58:23 +04:00
<varlistentry >
<term > <option > --no-ask-password</option> </term>
<listitem > <para > Do not query the user
for authentication for privileged
operations.</para> </listitem>
</varlistentry>
2011-07-14 00:37:53 +04:00
<varlistentry >
<term > <option > -p</option> </term>
2013-02-13 13:39:22 +04:00
<term > <option > --property=</option> </term>
2011-07-14 00:37:53 +04:00
<listitem > <para > When showing
2013-07-19 20:00:21 +04:00
session/user/seat properties, limit
2011-07-14 00:37:53 +04:00
display to certain properties as
specified as argument. If not
2013-07-02 07:44:04 +04:00
specified, all set properties are
2011-07-14 00:37:53 +04:00
shown. The argument should be a
property name, such as
<literal > Sessions</literal> . If
2013-07-02 07:44:04 +04:00
specified more than once, all
2011-07-14 00:37:53 +04:00
properties with the specified names
are shown.</para> </listitem>
</varlistentry>
<varlistentry >
<term > <option > -a</option> </term>
2013-02-13 13:39:22 +04:00
<term > <option > --all</option> </term>
2011-07-14 00:37:53 +04:00
<listitem > <para > When showing
2013-07-19 20:00:21 +04:00
session/user/seat properties, show all
2013-12-26 05:47:43 +04:00
properties regardless of whether they are
2011-07-14 00:37:53 +04:00
set or not.</para> </listitem>
</varlistentry>
2013-01-14 21:16:50 +04:00
<varlistentry >
2013-06-17 13:36:35 +04:00
<term > <option > -l</option> </term>
2013-01-14 21:16:50 +04:00
<term > <option > --full</option> </term>
2013-09-27 02:05:07 +04:00
<listitem > <para > Do not ellipsize
process tree entries.</para>
2013-01-14 21:16:50 +04:00
</listitem>
</varlistentry>
2011-07-14 00:37:53 +04:00
<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
2013-06-27 23:51:44 +04:00
session. If omitted, defaults to
2011-07-14 00:37:53 +04:00
<option > all</option> .</para> </listitem>
</varlistentry>
<varlistentry >
<term > <option > -s</option> </term>
2013-02-13 13:39:22 +04:00
<term > <option > --signal=</option> </term>
2011-07-14 00:37:53 +04:00
<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
2013-06-27 23:51:44 +04:00
known signal specifiers, such as
2013-06-29 20:09:14 +04:00
<constant > SIGTERM</constant> ,
<constant > SIGINT</constant> or
<constant > SIGSTOP</constant> . If
2013-07-02 07:44:04 +04:00
omitted, defaults to
2013-06-29 20:09:14 +04:00
<constant > SIGTERM</constant> .</para> </listitem>
2011-07-14 00:37:53 +04:00
</varlistentry>
2014-02-21 04:47:03 +04:00
<xi:include href= "user-system-options.xml" xpointer= "host" />
<xi:include href= "user-system-options.xml" xpointer= "machine" />
2014-02-13 23:33:51 +04:00
<xi:include href= "standard-options.xml" xpointer= "help" />
<xi:include href= "standard-options.xml" xpointer= "version" />
<xi:include href= "standard-options.xml" xpointer= "no-pager" />
2011-07-14 00:37:53 +04:00
</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 >
2013-12-08 17:16:59 +04:00
<term > <command > session-status</command> <replaceable > ID</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
<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 >
2013-12-08 17:16:59 +04:00
<term > <command > show-session</command> <optional > <replaceable > ID</replaceable> ...</optional> </term>
2011-07-14 00:37:53 +04:00
<listitem > <para > Show properties of one
or more sessions or the manager
2013-07-02 07:44:04 +04:00
itself. If no argument is specified,
2011-07-14 00:37:53 +04:00
properties of the manager will be
2013-07-02 07:44:04 +04:00
shown. If a session ID is specified,
2013-07-07 06:22:05 +04:00
properties of the session are shown. By
2011-07-14 00:37:53 +04:00
default, empty properties are
suppressed. Use <option > --all</option>
to show those too. To select specific
2013-07-02 07:44:04 +04:00
properties to show, use
2011-07-14 00:37:53 +04:00
<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 >
2013-12-08 17:16:59 +04:00
<term > <command > activate</command> <replaceable > ID</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
<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 >
2013-12-08 17:16:59 +04:00
<term > <command > lock-session</command> <replaceable > ID</replaceable> ...</term>
<term > <command > unlock-session</command> <replaceable > ID</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
<listitem > <para > Activates/deactivates
the screen lock on one or more
2013-12-08 17:16:59 +04:00
sessions, if the session supports it.
</para> </listitem>
2011-07-14 00:37:53 +04:00
</varlistentry>
2012-07-29 19:08:47 +04:00
<varlistentry >
<term > <command > lock-sessions</command> </term>
2013-01-24 08:29:37 +04:00
<term > <command > unlock-sessions</command> </term>
2012-07-29 19:08:47 +04:00
2013-01-24 08:29:37 +04:00
<listitem > <para > Activates/deactivates
the screen lock on all current
2013-12-08 17:16:59 +04:00
sessions supporting it.
</para> </listitem>
2012-07-29 19:08:47 +04:00
</varlistentry>
2011-07-14 00:37:53 +04:00
<varlistentry >
2013-12-08 17:16:59 +04:00
<term > <command > terminate-session</command> <replaceable > ID</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
2013-12-08 17:16:59 +04:00
<listitem > <para > Terminates a session.
This kills all processes of the
session and deallocates all resources
attached to the session.
</para> </listitem>
2011-07-14 00:37:53 +04:00
</varlistentry>
<varlistentry >
2013-12-08 17:16:59 +04:00
<term > <command > kill-session</command> <replaceable > ID</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
<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 >
2013-12-08 17:16:59 +04:00
<term > <command > user-status</command> <replaceable > USER</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
<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
2013-12-08 17:16:59 +04:00
<command > show-user</command> instead.
Users may be specified by their
usernames or numeric user IDs.
</para> </listitem>
2011-07-14 00:37:53 +04:00
</varlistentry>
<varlistentry >
2013-12-08 17:16:59 +04:00
<term > <command > show-user</command> <optional > <replaceable > USER</replaceable> ...</optional> </term>
2011-07-14 00:37:53 +04:00
<listitem > <para > Show properties of one
or more users or the manager
2013-06-27 23:51:44 +04:00
itself. If no argument is specified,
2011-07-14 00:37:53 +04:00
properties of the manager will be
2013-06-27 23:51:44 +04:00
shown. If a user is specified,
properties of the user are shown. By
2011-07-14 00:37:53 +04:00
default, empty properties are
suppressed. Use <option > --all</option>
to show those too. To select specific
2013-07-02 07:44:04 +04:00
properties to show, use
2011-07-14 00:37:53 +04:00
<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 >
2013-12-08 17:16:59 +04:00
<term > <command > enable-linger</command> <replaceable > USER</replaceable> ...</term>
<term > <command > disable-linger</command> <replaceable > USER</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
<listitem > <para > Enable/disable user
lingering for one or more users. If
2013-06-27 23:51:44 +04:00
enabled for a specific user, a user
2013-12-08 17:16:59 +04:00
manager is spawned for the user at
2013-06-27 23:51:44 +04:00
boot and kept around after
2013-07-02 07:44:04 +04:00
logouts. This allows users who are not
2011-07-14 00:37:53 +04:00
logged in to run long-running
services.</para> </listitem>
</varlistentry>
<varlistentry >
2013-12-08 17:16:59 +04:00
<term > <command > terminate-user</command> <replaceable > USER</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
<listitem > <para > Terminates all
sessions of a user. This kills all
processes of all sessions of the user
and deallocates all runtime resources
2013-12-08 17:16:59 +04:00
attached to the user.
</para> </listitem>
2011-07-14 00:37:53 +04:00
</varlistentry>
<varlistentry >
2013-12-08 17:16:59 +04:00
<term > <command > kill-user</command> <replaceable > USER</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
<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 >
2013-12-08 17:16:59 +04:00
<term > <command > seat-status</command> <replaceable > NAME</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
<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 >
2013-12-08 17:16:59 +04:00
<term > <command > show-seat</command> <replaceable > NAME</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
<listitem > <para > Show properties of one
or more seats or the manager
2013-06-27 23:51:44 +04:00
itself. If no argument is specified,
2011-07-14 00:37:53 +04:00
properties of the manager will be
2013-06-27 23:51:44 +04:00
shown. If a seat is specified,
2011-07-14 00:37:53 +04:00
properties of the seat are shown. By
default, empty properties are
suppressed. Use <option > --all</option>
to show those too. To select specific
2013-06-27 23:51:44 +04:00
properties to show, use
2011-07-14 00:37:53 +04:00
<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 >
2013-12-08 17:16:59 +04:00
<term > <command > attach</command> <replaceable > NAME</replaceable> <replaceable > DEVICE</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
2012-09-10 15:20:45 +04:00
<listitem > <para > Persistently attach
one or more devices to a seat. The
devices should be specified via device
paths in the <filename > /sys</filename>
2013-06-27 23:51:44 +04:00
file system. To create a new seat,
2012-09-10 15:20:45 +04:00
attach at least one graphics card to a
2012-10-26 02:16:47 +04:00
previously unused seat name. Seat
2011-07-14 00:37:53 +04:00
names may consist only of a-z, A-Z,
2013-06-29 20:09:14 +04:00
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>
2011-07-14 00:37:53 +04:00
</varlistentry>
<varlistentry >
<term > <command > flush-devices</command> </term>
<listitem > <para > Removes all device
assignments previously created with
<command > attach</command> . After this
2013-06-27 23:51:44 +04:00
call, only automatically generated
seats will remain, and all seat
2011-07-14 00:37:53 +04:00
hardware is assigned to
them.</para> </listitem>
</varlistentry>
<varlistentry >
2013-12-08 17:16:59 +04:00
<term > <command > terminate-seat</command> <replaceable > NAME</replaceable> ...</term>
2011-07-14 00:37:53 +04:00
<listitem > <para > Terminates all
sessions on a seat. This kills all
2013-12-08 17:16:59 +04:00
processes of all sessions on the seat
and deallocates all runtime resources
2011-07-14 00:37:53 +04:00
attached to them.</para> </listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 >
<title > Exit status</title>
2013-07-02 07:44:04 +04:00
<para > On success, 0 is returned, a non-zero failure
2011-07-14 00:37:53 +04:00
code otherwise.</para>
</refsect1>
2014-02-12 09:55:38 +04:00
<xi:include href= "less-variables.xml" />
2011-07-14 00:37:53 +04:00
<refsect1 >
<title > See Also</title>
<para >
<citerefentry > <refentrytitle > systemd</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> ,
2011-07-14 00:42:21 +04:00
<citerefentry > <refentrytitle > systemctl</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> ,
2012-06-01 02:14:07 +04:00
<citerefentry > <refentrytitle > systemd-logind.service</refentrytitle> <manvolnum > 8</manvolnum> </citerefentry> ,
2012-03-31 01:18:33 +04:00
<citerefentry > <refentrytitle > logind.conf</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry>
2011-07-14 00:37:53 +04:00
</para>
</refsect1>
</refentry>