@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s RemoteUser = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
+ readonly b ExtraDeviceAccess = ...;
+ @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Service = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Desktop = '...';
<variablelist class="dbus-property" generated="True" extra-ref="RemoteUser"/>
+ <variablelist class="dbus-property" generated="True" extra-ref="ExtraDeviceAccess"/>
+
<variablelist class="dbus-property" generated="True" extra-ref="Service"/>
<variablelist class="dbus-property" generated="True" extra-ref="Desktop"/>
<para><varname>RemoteHost</varname> and <varname>RemoteUser</varname> encode the remote host and user
if this is a remote session, or an empty string otherwise.</para>
+ <para><varname>ExtraDeviceAccess</varname> encodes whether the session is granted access to additional
+ hardware devices, typically useful for for graphical, remote session. If true, the session is granted
+ access to all devices tagged with <literal>xaccess</literal> in udev.</para>
+
<para><varname>Service</varname> encodes the PAM service name that registered the session.</para>
<para><varname>Desktop</varname> describes the desktop environment running in the session (if
<para><function>SetTTY()</function> was added in version 254.</para>
<para><function>SetClass()</function> was added in version 256.</para>
<para><varname>LeaderPIDFDId</varname> was added in version 258.</para>
+ <para><varname>ExtraDeviceAccess</varname> was added in version 260.</para>
</refsect2>
</refsect1>
<xi:include href="version-info.xml" xpointer="v258"/></listitem>
</varlistentry>
+
+ <varlistentry>
+ <term><varname>$XDG_SESSION_EXTRA_DEVICE_ACCESS</varname></term>
+
+ <listitem><para>Whether or not the session shall be granted additional hardware device access,
+ typically useful for graphical, remote session. If true, the session is granted access to all
+ devices tagged with <literal>xaccess</literal> in udev. Typically, rendering device nodes of
+ the GPU are tagged like this.</para>
+
+ <xi:include href="version-info.xml" xpointer="v260"/></listitem>
+ </varlistentry>
</variablelist>
<para>If not set, <command>pam_systemd</command> will initialize
<refname>sd_session_get_remote_host</refname>
<refname>sd_session_get_remote_user</refname>
<refname>sd_session_get_leader</refname>
+ <refname>sd_session_has_extra_device_access</refname>
<refpurpose>Determine state of a specific session</refpurpose>
</refnamediv>
<paramdef>const char *<parameter>session</parameter></paramdef>
<paramdef>unsigned int *<parameter>vt</parameter></paramdef>
</funcprototype>
+
+ <funcprototype>
+ <funcdef>int <function>sd_session_has_extra_device_access</function></funcdef>
+ <paramdef>const char *<parameter>session</parameter></paramdef>
+ </funcprototype>
</funcsynopsis>
</refsynopsisdiv>
session identifier. This function will return an error if the seat
does not support VTs.</para>
+ <para><function>sd_session_has_extra_device_access()</function> may
+ be used to determine whether the session is granted access to
+ additional hardware devices, typically useful for for graphical,
+ remote session. If true, the session is granted access to all
+ devices tagged with <literal>xaccess</literal> in udev.</para>
+
<para>If the <varname>session</varname> parameter of any of these
functions is passed as <constant>NULL</constant>, the operation is
executed for the session the calling process is a member of, if
<title>Return Value</title>
<para>If the test succeeds,
- <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_is_active()</function>,
+ <function>sd_session_is_remote()</function>, and
+ <function>sd_session_has_extra_device_access()</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_username()</function>,
<para><function>sd_session_get_username()</function>,
<function>sd_session_get_start_time()</function>, and
<function>sd_session_get_leader()</function> were added in version 254.</para>
+ <para><function>sd_session_has_extra_device_access()</function> was added in version 260.</para>
</refsect1>
<refsect1>