man: document the expanded catalogue of session classes

This commit is contained in:
Lennart Poettering 2023-11-29 12:19:53 +01:00
parent 3b52ef6f00
commit 0f6827bdd1
2 changed files with 59 additions and 13 deletions

View file

@ -90,11 +90,58 @@
<varlistentry> <varlistentry>
<term><varname>class=</varname></term> <term><varname>class=</varname></term>
<listitem><para>Takes a string argument which sets the session class. The <varname>XDG_SESSION_CLASS</varname> <listitem><para>Takes a string argument which sets the session class. The
environment variable (see below) takes precedence. One of <literal>user</literal>, <literal>greeter</literal>, <varname>XDG_SESSION_CLASS</varname> environment variable (see below) takes precedence. See
<literal>lock-screen</literal> or <literal>background</literal>. See <citerefentry><refentrytitle>sd_session_get_class</refentrytitle><manvolnum>3</manvolnum></citerefentry>
<citerefentry><refentrytitle>sd_session_get_class</refentrytitle><manvolnum>3</manvolnum></citerefentry> for for a way to query the class of a session. The following session classes are defined:</para>
details about the session class.</para>
<table>
<title>Session Classes</title>
<tgroup cols='2' align='left' colsep='1' rowsep='1'>
<colspec colname="name" />
<colspec colname="explanation" />
<thead>
<row>
<entry>Name</entry>
<entry>Explanation</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>user</constant></entry>
<entry>A regular interactive user session. This is the default class for sessions for which a TTY or X display is known at session registration time.</entry>
</row>
<row>
<entry><constant>user-early</constant></entry>
<entry>Similar to <literal>user</literal> but sessions of this class are not ordered after <filename>systemd-user-sessions.service</filename>, i.e. may be started before regular sessions are allowed to be established. This session class is the default for sessions of the root user that would otherwise qualify for the <constant>user</constant> class, see above. (Added in v256.)</entry>
</row>
<row>
<entry><constant>greeter</constant></entry>
<entry>Similar to <literal>user</literal> but for sessions that are spawned by a display manager ephemerally and which prompt the user for login credentials.</entry>
</row>
<row>
<entry><constant>lock-screen</constant></entry>
<entry>Similar to <literal>user</literal> but for sessions that are spawned by a display manager ephemerally and which show a lock screen that can be used to unlock locked user accounts or sessions.</entry>
</row>
<row>
<entry><constant>background</constant></entry>
<entry>Used for background sessions, such as those invoked by <command>cron</command> and similar tools. This is the default class for sessions for which no TTY or X display is known at session registration time.</entry>
</row>
<row>
<entry><constant>background-light</constant></entry>
<entry>Similar to <constant>background</constant>, but sessions of this class will not pull in the <filename>user@.service</filename> of the user, and thus possibly have no services of the user running. (Added in v256.)</entry>
</row>
<row>
<entry><constant>manager</constant></entry>
<entry>The <filename>user@.service</filename> service of the user is registered under this session class. (Added in v256.)</entry>
</row>
<row>
<entry><constant>manager-early</constant></entry>
<entry>Similar to <constant>manager</constant>, but for the root user. Compare with the <constant>user</constant> vs. <constant>user-early</constant> situation. (Added in v256.)</entry>
</row>
</tbody>
</tgroup>
</table>
<xi:include href="version-info.xml" xpointer="v197"/></listitem> <xi:include href="version-info.xml" xpointer="v197"/></listitem>
</varlistentry> </varlistentry>

View file

@ -214,14 +214,13 @@
<citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
call after use.</para> call after use.</para>
<para><function>sd_session_get_class()</function> may be used to <para><function>sd_session_get_class()</function> may be used to determine the class of the session
determine the class of the session identified by the specified identified by the specified session identifier. The returned string is one of <literal>user</literal>,
session identifier. The returned string is one of <literal>user-early</literal>, <literal>greeter</literal>, <literal>lock-screen</literal>,
<literal>user</literal>, <literal>greeter</literal>, <literal>background</literal>, <literal>background-light</literal>, <literal>manager</literal> or
<literal>lock-screen</literal>, or <literal>background</literal> <literal>manager-early</literal> and needs to be freed with the libc <citerefentry
and needs to be freed with the libc project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> call after
<citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry> use.</para>
call after use.</para>
<para><function>sd_session_get_desktop()</function> may be used to <para><function>sd_session_get_desktop()</function> may be used to
determine the brand of the desktop running on the session determine the brand of the desktop running on the session