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 /> .
-->
2013-02-03 07:47:47 +04:00
<refentry id= "loginctl" conditional= 'HAVE_PAM' >
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 >
2012-03-26 22:58:47 +04:00
<command > loginctl <arg choice= "opt" rep= "repeat" > OPTIONS</arg> <arg choice= "req" > COMMAND</arg> <arg choice= "opt" rep= "repeat" > NAME</arg> </command>
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 >
<varlistentry >
<term > <option > -h</option> </term>
2013-02-13 13:39:22 +04:00
<term > <option > --help</option> </term>
2011-07-14 00:37:53 +04:00
<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 > -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
2012-09-13 23:09:44 +04:00
session/user properties, limit
2011-07-14 00:37:53 +04:00
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 > -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
unit/job/manager properties, show all
properties regardless whether they are
set or not.</para> </listitem>
</varlistentry>
2013-01-14 21:16:50 +04:00
<varlistentry >
<term > <option > --full</option> </term>
<listitem > <para > Do not ellipsize cgroup
members.</para>
</listitem>
</varlistentry>
2011-07-14 00:37:53 +04:00
<varlistentry >
<term > <option > --no-pager</option> </term>
2012-06-10 20:32:11 +04:00
<listitem > <para > Do not pipe output into a
pager.</para> </listitem>
</varlistentry>
2011-07-14 00:37:53 +04:00
2012-04-11 20:50:16 +04:00
<varlistentry >
<term > <option > --no-ask-password</option> </term>
<listitem > <para > Don't query the user
for authentication for privileged
operations.</para> </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
session. If omitted defaults to
<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
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 >
2011-07-31 15:57:30 +04:00
<term > <command > lock-session [ID...]</command> </term>
<term > <command > unlock-session [ID...]</command> </term>
2011-07-14 00:37:53 +04:00
<listitem > <para > Activates/deactivates
the screen lock on one or more
sessions, if the session supports it.</para> </listitem>
</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
sessions supporting
it.</para> </listitem>
2012-07-29 19:08:47 +04:00
</varlistentry>
2011-07-14 00:37:53 +04:00
<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>
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>
file system. To create a new seat
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,
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>
2013-01-26 19:47:16 +04:00
<variablelist class= 'environment-variables' >
2011-07-14 00:37:53 +04:00
<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> ,
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>