2020-05-22 20:20:13 +03:00
<?xml version="1.0"?>
<!-- * - nxml - * -->
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
2020-11-09 07:23:58 +03:00
<!-- SPDX - License - Identifier: LGPL - 2.1 - or - later -->
2020-05-22 20:20:13 +03:00
<refentry id= "systemd-xdg-autostart-generator" conditional= "ENABLE_XDG_AUTOSTART" >
<refentryinfo >
<title > systemd-xdg-autostart-generator</title>
<productname > systemd</productname>
</refentryinfo>
<refmeta >
<refentrytitle > systemd-xdg-autostart-generator</refentrytitle>
<manvolnum > 8</manvolnum>
</refmeta>
<refnamediv >
<refname > systemd-xdg-autostart-generator</refname>
<refpurpose > User unit generator for XDG autostart files</refpurpose>
</refnamediv>
<refsynopsisdiv >
2020-10-27 01:45:51 +03:00
<para > <filename > /usr/lib/systemd/user-generators/systemd-xdg-autostart-generator</filename> </para>
2020-05-22 20:20:13 +03:00
</refsynopsisdiv>
<refsect1 >
<title > Description</title>
<para > <filename > systemd-xdg-autostart-generator</filename> is a generator
that creates .service units for
<ulink url= "https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html" > XDG autostart</ulink>
files.
This permits desktop environments to delegate startup of these applications to
<citerefentry > <refentrytitle > systemd</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry>
.</para>
<para > Units created by <filename > systemd-xdg-autostart-generator</filename>
can be started by the desktop environment using <literal > xdg-desktop-autostart.target</literal> .
See
2020-07-11 01:05:23 +03:00
<citerefentry > <refentrytitle > systemd.special</refentrytitle> <manvolnum > 7</manvolnum> </citerefentry>
2020-05-22 20:20:13 +03:00
for more details.</para>
2022-01-13 20:47:08 +03:00
<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>
2020-05-22 20:20:13 +03:00
<para > <filename > systemd-xdg-autostart-generator</filename> implements
<citerefentry > <refentrytitle > systemd.generator</refentrytitle> <manvolnum > 7</manvolnum> </citerefentry> .</para>
</refsect1>
<refsect1 >
<title > See Also</title>
<para >
<citerefentry > <refentrytitle > systemd</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> ,
<citerefentry > <refentrytitle > systemd.service</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry> ,
<citerefentry > <refentrytitle > systemd.target</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry>
</para>
</refsect1>
</refentry>