summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Berg <bberg@redhat.com>2022-01-13 18:47:08 +0100
committerYu Watanabe <watanabe.yu+github@gmail.com>2022-01-14 16:20:45 +0900
commit048d46999995847095e3b7a513ba0627e0179dec (patch)
treee338420a7fb83ebb9a606174a4a477601601f89a
parent007721e939a3a549e8ff456fdfbc196e7e1f0086 (diff)
downloadsystemd-048d46999995847095e3b7a513ba0627e0179dec.tar.gz
man: Add more details about desktop file processing
In particular, mention the contract the generator has with external ExecCondition= binaries that may be provided by desktop environments. But, also mention all the other relevant keys. In particular X-systemd-skip= is important to be documented.
-rw-r--r--man/systemd-xdg-autostart-generator.xml49
1 files changed, 49 insertions, 0 deletions
diff --git a/man/systemd-xdg-autostart-generator.xml b/man/systemd-xdg-autostart-generator.xml
index 4d153c3040..bafe6e9c2d 100644
--- a/man/systemd-xdg-autostart-generator.xml
+++ b/man/systemd-xdg-autostart-generator.xml
@@ -41,6 +41,55 @@
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
for more details.</para>
+ <para>XDG autostart may be conditionalized using both standardized and non-standardized keys.
+ In order to handle these, the generator may create one or more <varname>ExecCondition=</varname> entries.
+ For non-standardized keys, well-known helper binaries provided by Desktop Environments are used.
+ All external helpers <emphasis>must</emphasis> detect their corresponding desktop environment and
+ <emphasis>must</emphasis> return success when run in a different environment.
+ This is important as all <varname>ExecCondition=</varname> directives must succeed for an application to be started.</para>
+
+ <table>
+ <title>
+ Special XDG desktop file entries that are processed
+ </title>
+ <tgroup cols='2'>
+ <colspec colname='entry' />
+ <colspec colname='handling' />
+ <thead>
+ <row>
+ <entry>Entry</entry>
+ <entry>Handling</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><varname>Hidden=</varname>, <varname>X-systemd-skip=</varname></entry>
+ <entry>No service will be generated if set to true</entry>
+ </row>
+ <row>
+ <entry><varname>OnlyShowIn=</varname>, <varname>NotShowIn=</varname></entry>
+ <entry><varname>ExecCondition=</varname> using <filename>systemd-xdg-autostart-condition</filename></entry>
+ </row>
+ <row>
+ <entry><varname>TryExec=</varname></entry>
+ <entry>No service will be generated if the binary does not exist or cannot be executed</entry>
+ </row>
+ <row>
+ <entry><varname>AutostartCondition=</varname> (GNOME extension)</entry>
+ <entry><varname>ExecCondition=</varname> using <filename>gnome-systemd-autostart-condition</filename></entry>
+ </row>
+ <row>
+ <entry><varname>X-GNOME-Autostart-Phase=</varname></entry>
+ <entry>No service will be generated if set to any value</entry>
+ </row>
+ <row>
+ <entry><varname>X-KDE-autostart-condition=</varname></entry>
+ <entry><varname>ExecCondition=</varname> using <filename>kde-systemd-start-condition</filename></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
<para><filename>systemd-xdg-autostart-generator</filename> implements
<citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
</refsect1>