<?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">
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
- This file is part of systemd.
+ This file is part of elogind.
Copyright 2010 Lennart Poettering
- systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ elogind 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
+ elogind 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
- General Public License for more details.
+ Lesser General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
+ You should have received a copy of the GNU Lesser General Public License
+ along with elogind; 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 id="loginctl" xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ <refentryinfo>
+ <title>loginctl</title>
+ <productname>elogind</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 elogind 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>elogind</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ login manager.</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>-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
+ 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>elogind</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>