chiark / gitweb /
run: add a new "-t" mode for invoking a binary on an allocated TTY
[elogind.git] / man / sd_session_is_active.xml
index 293ce71642678bc573c9e170d0ea887efc7154d6..e9840669c27c4efa4b0181bf5c88ba63c6a6e79c 100644 (file)
 
         <refnamediv>
                 <refname>sd_session_is_active</refname>
 
         <refnamediv>
                 <refname>sd_session_is_active</refname>
+                <refname>sd_session_is_remote</refname>
                 <refname>sd_session_get_state</refname>
                 <refname>sd_session_get_uid</refname>
                 <refname>sd_session_get_seat</refname>
                 <refname>sd_session_get_service</refname>
                 <refname>sd_session_get_type</refname>
                 <refname>sd_session_get_class</refname>
                 <refname>sd_session_get_state</refname>
                 <refname>sd_session_get_uid</refname>
                 <refname>sd_session_get_seat</refname>
                 <refname>sd_session_get_service</refname>
                 <refname>sd_session_get_type</refname>
                 <refname>sd_session_get_class</refname>
+                <refname>sd_session_get_desktop</refname>
                 <refname>sd_session_get_display</refname>
                 <refname>sd_session_get_tty</refname>
                 <refname>sd_session_get_vt</refname>
                 <refname>sd_session_get_display</refname>
                 <refname>sd_session_get_tty</refname>
                 <refname>sd_session_get_vt</refname>
+                <refname>sd_session_get_remote_host</refname>
+                <refname>sd_session_get_remote_user</refname>
                 <refpurpose>Determine state of a specific session</refpurpose>
         </refnamediv>
 
                 <refpurpose>Determine state of a specific session</refpurpose>
         </refnamediv>
 
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_is_active</function></funcdef>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_is_active</function></funcdef>
-                                <paramdef>const char* <parameter>session</parameter></paramdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                        </funcprototype>
+
+                        <funcprototype>
+                                <funcdef>int <function>sd_session_is_remote</function></funcdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_state</function></funcdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_state</function></funcdef>
-                                <paramdef>const char<parameter>session</parameter></paramdef>
-                                <paramdef>char** <parameter>state</parameter></paramdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                                <paramdef>char **<parameter>state</parameter></paramdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_uid</function></funcdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_uid</function></funcdef>
-                                <paramdef>const char<parameter>session</parameter></paramdef>
-                                <paramdef>uid_t<parameter>uid</parameter></paramdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                                <paramdef>uid_t *<parameter>uid</parameter></paramdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_seat</function></funcdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_seat</function></funcdef>
-                                <paramdef>const char<parameter>session</parameter></paramdef>
-                                <paramdef>char** <parameter>seat</parameter></paramdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                                <paramdef>char **<parameter>seat</parameter></paramdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_service</function></funcdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_service</function></funcdef>
-                                <paramdef>const char<parameter>session</parameter></paramdef>
-                                <paramdef>char** <parameter>service</parameter></paramdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                                <paramdef>char **<parameter>service</parameter></paramdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_type</function></funcdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_type</function></funcdef>
-                                <paramdef>const char<parameter>session</parameter></paramdef>
-                                <paramdef>char** <parameter>type</parameter></paramdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                                <paramdef>char **<parameter>type</parameter></paramdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_class</function></funcdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_class</function></funcdef>
-                                <paramdef>const char* <parameter>session</parameter></paramdef>
-                                <paramdef>char** <parameter>class</parameter></paramdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                                <paramdef>char **<parameter>class</parameter></paramdef>
+                        </funcprototype>
+
+                        <funcprototype>
+                                <funcdef>int <function>sd_session_get_desktop</function></funcdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                                <paramdef>char **<parameter>desktop</parameter></paramdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_display</function></funcdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_display</function></funcdef>
-                                <paramdef>const char* <parameter>session</parameter></paramdef>
-                                <paramdef>char** <parameter>display</parameter></paramdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                                <paramdef>char **<parameter>display</parameter></paramdef>
+                        </funcprototype>
+
+                        <funcprototype>
+                                <funcdef>int <function>sd_session_get_remote_host</function></funcdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                                <paramdef>char **<parameter>remote_host</parameter></paramdef>
+                        </funcprototype>
+
+                        <funcprototype>
+                                <funcdef>int <function>sd_session_get_remote_user</function></funcdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                                <paramdef>char **<parameter>remote_user</parameter></paramdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_tty</function></funcdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_tty</function></funcdef>
-                                <paramdef>const char<parameter>session</parameter></paramdef>
-                                <paramdef>char** <parameter>tty</parameter></paramdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                                <paramdef>char **<parameter>tty</parameter></paramdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_vt</function></funcdef>
                         </funcprototype>
 
                         <funcprototype>
                                 <funcdef>int <function>sd_session_get_vt</function></funcdef>
-                                <paramdef>const char<parameter>session</parameter></paramdef>
-                                <paramdef>unsigned int<parameter>vt</parameter></paramdef>
+                                <paramdef>const char *<parameter>session</parameter></paramdef>
+                                <paramdef>unsigned int *<parameter>vt</parameter></paramdef>
                         </funcprototype>
                 </funcsynopsis>
         </refsynopsisdiv>
                         </funcprototype>
                 </funcsynopsis>
         </refsynopsisdiv>
                 (i.e. currently in the foreground and available for
                 user input) or not.</para>
 
                 (i.e. currently in the foreground and available for
                 user input) or not.</para>
 
+                <para><function>sd_session_is_remote()</function> may
+                be used to determine whether the session identified by
+                the specified session identifier is a remote session
+                (i.e. its remote host is known) or not.</para>
+
                 <para><function>sd_session_get_state()</function> may
                 be used to determine the state of the session
                 identified by the specified session identifier. The
                 <para><function>sd_session_get_state()</function> may
                 be used to determine the state of the session
                 identified by the specified session identifier. The
                 returned. This function is a more generic version of
                 <function>sd_session_is_active()</function>. The returned
                 string needs to be freed with the libc
                 returned. This function is a more generic version of
                 <function>sd_session_is_active()</function>. The returned
                 string needs to be freed with the libc
-                <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
                 call after use.</para>
 
                 <para><function>sd_session_get_uid()</function> may be
                 call after use.</para>
 
                 <para><function>sd_session_get_uid()</function> may be
                 identifier belongs to. Note that not all sessions are
                 attached to a seat, this call will fail for them. The
                 returned string needs to be freed with the libc
                 identifier belongs to. Note that not all sessions are
                 attached to a seat, this call will fail for them. The
                 returned string needs to be freed with the libc
-                <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
                 call after use.</para>
 
                 <para><function>sd_session_get_service()</function>
                 call after use.</para>
 
                 <para><function>sd_session_get_service()</function>
                 session identified by the specified session
                 identifier. The returned string needs to be freed with
                 the libc
                 session identified by the specified session
                 identifier. The returned string needs to be freed with
                 the libc
-                <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
                 call after use.</para>
 
                 <para><function>sd_session_get_type()</function> may
                 be used to determine the type of the session
                 identified by the specified session identifier. The
                 returned string is one of <literal>x11</literal>,
                 call after use.</para>
 
                 <para><function>sd_session_get_type()</function> may
                 be used to determine the type of the session
                 identified by the specified session identifier. The
                 returned string is one of <literal>x11</literal>,
-                <literal>tty</literal> or
-                <literal>unspecified</literal> and needs to be freed
-                with the libc
-                <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                <literal>wayland</literal>, <literal>tty</literal>,
+                <literal>mir</literal> or <literal>unspecified</literal> and
+                needs to be freed with the libc
+                <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
                 call after use.</para>
 
                 <para><function>sd_session_get_class()</function> may
                 call after use.</para>
 
                 <para><function>sd_session_get_class()</function> may
                 <literal>lock-screen</literal>, or
                 <literal>background</literal> and needs to be freed
                 with the libc
                 <literal>lock-screen</literal>, or
                 <literal>background</literal> and needs to be freed
                 with the libc
-                <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                call after use.</para>
+
+                <para><function>sd_session_get_desktop()</function> may
+                be used to determine the brand of the desktop running on
+                the session identified by the specified session identifier.
+                This field can be set freely by desktop environments and
+                does not follow any special formatting. However, desktops
+                are strongly recommended to use the same identifiers and
+                capitalization as for
+                <varname>$XDG_CURRENT_DESKTOP</varname>, as defined by
+                the <ulink
+                url="http://standards.freedesktop.org/desktop-entry-spec/latest/">Desktop
+                Entry
+                Specification</ulink>. The returned string needs to be
+                freed with the libc
+                <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
                 call after use.</para>
 
                 <para><function>sd_session_get_display()</function>
                 call after use.</para>
 
                 <para><function>sd_session_get_display()</function>
                 session identified by the specified session
                 identifier. The returned string needs to be
                 freed with the libc
                 session identified by the specified session
                 identifier. The returned string needs to be
                 freed with the libc
-                <citerefentry><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_remote_host()</function>
+                may be used to determine the remote hostname of the
+                session identified by the specified session
+                identifier. The returned string needs to be
+                freed with the libc
+                <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                call after use.</para>
+
+                <para><function>sd_session_get_remote_user()</function>
+                may be used to determine the remote username of the
+                session identified by the specified session
+                identifier. The returned string needs to be
+                freed with the libc
+                <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                call after use. Note that this value is rarely known
+                to the system, and even then should not be relied on.</para>
+
                 <para><function>sd_session_get_tty()</function>
                 may be used to determine the TTY device of the
                 session identified by the specified session
                 identifier. The returned string needs to be
                 freed with the libc
                 <para><function>sd_session_get_tty()</function>
                 may be used to determine the TTY device of the
                 session identified by the specified session
                 identifier. The returned string needs to be
                 freed with the libc
-                <citerefentry><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+                <citerefentry project='man-pages'><refentrytitle>free</refentrytitle><manvolnum>3</manvolnum></citerefentry>
                 call after use.</para>
 
                 <para><function>sd_session_get_vt()</function>
                 call after use.</para>
 
                 <para><function>sd_session_get_vt()</function>
                 <title>Return Value</title>
 
                 <para>If the test succeeds,
                 <title>Return Value</title>
 
                 <para>If the test succeeds,
-                <function>sd_session_is_active()</function> returns a
-                positive integer, if it fails 0.  On success
+                <function>sd_session_is_active()</function> and
+                <function>sd_session_is_remote()</function> return a
+                positive integer; if it fails, 0.  On success,
                 <function>sd_session_get_state()</function>,
                 <function>sd_session_get_uid()</function>,
                 <function>sd_session_get_seat()</function>,
                 <function>sd_session_get_service()</function>,
                 <function>sd_session_get_type()</function>,
                 <function>sd_session_get_class()</function>,
                 <function>sd_session_get_state()</function>,
                 <function>sd_session_get_uid()</function>,
                 <function>sd_session_get_seat()</function>,
                 <function>sd_session_get_service()</function>,
                 <function>sd_session_get_type()</function>,
                 <function>sd_session_get_class()</function>,
-                <function>sd_session_get_display()</function> and
+                <function>sd_session_get_display()</function>,
+                <function>sd_session_get_remote_user()</function>,
+                <function>sd_session_get_remote_host()</function> and
                 <function>sd_session_get_tty()</function> return 0 or
                 a positive integer. On failure, these calls return a
                 negative errno-style error code.</para>
                 <function>sd_session_get_tty()</function> return 0 or
                 a positive integer. On failure, these calls return a
                 negative errno-style error code.</para>
                 <function>sd_session_get_service()</function>,
                 <function>sd_session_get_type()</function>,
                 <function>sd_session_get_class()</function>,
                 <function>sd_session_get_service()</function>,
                 <function>sd_session_get_type()</function>,
                 <function>sd_session_get_class()</function>,
-                <function>sd_session_get_display()</function> and
+                <function>sd_session_get_display()</function>,
+                <function>sd_session_get_remote_host()</function>,
+                <function>sd_session_get_remote_user()</function> and
                 <function>sd_session_get_tty()</function>
                 <function>sd_session_get_tty()</function>
-                interfaces are available as shared library, which can
+                interfaces are available as shared library, which can
                 be compiled and linked to with the
                 be compiled and linked to with the
-                <constant>libsystemd-login</constant> <citerefentry><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+                <constant>libsystemd</constant> <citerefentry project='die-net'><refentrytitle>pkg-config</refentrytitle><manvolnum>1</manvolnum></citerefentry>
                 file.</para>
         </refsect1>
 
                 file.</para>
         </refsect1>