Systemd/man/loginctl.xml

466 lines
22 KiB
XML

<?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.</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>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>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 names. 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>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>