]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
man: Update docs for ExtraDeviceAccess
authorAlessandro Astone <alessandro.astone@canonical.com>
Wed, 26 Nov 2025 17:20:30 +0000 (18:20 +0100)
committerAlessandro Astone <alessandro.astone@canonical.com>
Fri, 6 Feb 2026 15:20:18 +0000 (16:20 +0100)
man/org.freedesktop.login1.xml
man/pam_systemd.xml
man/sd_session_is_active.xml

index b447ae70f64c891fc530bcd104f40c10c2ac406d..cc4a146fff55caada0086ee34b1d438bc32d30ed 100644 (file)
@@ -1246,6 +1246,8 @@ node /org/freedesktop/login1/session/1 {
       @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 = '...';
@@ -1348,6 +1350,8 @@ node /org/freedesktop/login1/session/1 {
 
     <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"/>
@@ -1537,6 +1541,10 @@ node /org/freedesktop/login1/session/1 {
       <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
@@ -1671,6 +1679,7 @@ node /org/freedesktop/login1/session/1 {
       <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>
 
index 5b6f2fa732f47bf162e1cf4a97314237850bb602..ee3060d670e280a345c4fc9627c786406511915d 100644 (file)
 
         <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
index 92cd669dc48c16c0c629bd7d97bc052359453c35..3a3935cfef821e7a304b3311d981d85308ba86b1 100644 (file)
@@ -34,6 +34,7 @@
     <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>