mirror of
https://github.com/systemd/systemd.git
synced 2024-10-30 23:21:22 +03:00
461 lines
18 KiB
XML
461 lines
18 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">
|
||
|
||
<!--
|
||
SPDX-License-Identifier: LGPL-2.1+
|
||
|
||
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-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>--value</option></term>
|
||
|
||
<listitem>
|
||
<para>When printing properties with <command>show</command>,
|
||
only print the value, and skip the property name and
|
||
<literal>=</literal>.</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="no-pager" />
|
||
<xi:include href="standard-options.xml" xpointer="no-legend" />
|
||
<xi:include href="standard-options.xml" xpointer="help" />
|
||
<xi:include href="standard-options.xml" xpointer="version" />
|
||
</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
|
||
is shown for the user of the session of the caller. This
|
||
function is intended to generate human-readable output. If you
|
||
are looking for computer-parsable output, use
|
||
<command>show-user</command> instead.</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>
|
||
|
||
<para>See also <varname>KillUserProcesses=</varname> setting in
|
||
<citerefentry><refentrytitle>logind.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||
</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>
|
||
|
||
<refsect1>
|
||
<title>Examples</title>
|
||
|
||
<example>
|
||
<title>Querying user status</title>
|
||
|
||
<programlisting>$ loginctl user-status
|
||
fatima (1005)
|
||
Since: Sat 2016-04-09 14:23:31 EDT; 54min ago
|
||
State: active
|
||
Sessions: 5 *3
|
||
Unit: user-1005.slice
|
||
├─user@1005.service
|
||
…
|
||
├─session-3.scope
|
||
…
|
||
└─session-5.scope
|
||
├─3473 login -- fatima
|
||
└─3515 -zsh
|
||
|
||
Apr 09 14:40:30 laptop login[2325]: pam_unix(login:session):
|
||
session opened for user fatima by LOGIN(uid=0)
|
||
Apr 09 14:40:30 laptop login[2325]: LOGIN ON tty3 BY fatima
|
||
</programlisting>
|
||
|
||
<para>There are two sessions, 3 and 5. Session 3 is a graphical session,
|
||
marked with a star. The tree of processing including the two corresponding
|
||
scope units and the user manager unit are shown.</para>
|
||
</example>
|
||
</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>
|