loginctl.xml revision 906b76b27be410af25aa7f79b4cfdb35f7f32fc7
<?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" conditional='ENABLE_LOGIND'
xmlns:xi="http://www.w3.org/2001/XInclude">
<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</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-legend</option></term>
<listitem>
<para>Do not print the legend,
i.e. the column headers and
the footer.</para>
</listitem>
</varlistentry>
<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>-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="help" />
<xi:include href="standard-options.xml" xpointer="version" />
<xi:include href="standard-options.xml" xpointer="no-pager" />
</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 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>
instead. Users may be specified by
their usernames or numeric user IDs.
</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></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>
<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>