chiark / gitweb /
journald: move /dev/log socket to /run
[elogind.git] / man / systemd.device.xml
index 141d72e3dcc9bb8f155864d741cc7638e61fa7b4..619fe1968046bfab9b6930a291179c53ccaeed10 100644 (file)
         </refnamediv>
 
         <refsynopsisdiv>
         </refnamediv>
 
         <refsynopsisdiv>
-                <para><filename>systemd.device</filename></para>
+                <para><filename><replaceable>device</replaceable>.device</filename></para>
         </refsynopsisdiv>
 
         <refsect1>
                 <title>Description</title>
 
                 <para>A unit configuration file whose name ends in
         </refsynopsisdiv>
 
         <refsect1>
                 <title>Description</title>
 
                 <para>A unit configuration file whose name ends in
-                <filename>.device</filename> encodes information about
+                <literal>.device</literal> encodes information about
                 a device unit as exposed in the
                 sysfs/<citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
                 device tree.</para>
                 a device unit as exposed in the
                 sysfs/<citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
                 device tree.</para>
                 since no device-specific options may be
                 configured.</para>
 
                 since no device-specific options may be
                 configured.</para>
 
-                <para>systemd will automatically create dynamic device
-                units for all kernel devices that are marked with the
-                "systemd" udev tag (by default all block and network
-                devices, and a few others). This may be used to define
-                dependencies between devices and other
-                units.</para>
+                <para>systemd will dynamically create device units for
+                all kernel devices that are marked with the "systemd"
+                udev tag (by default all block and network devices,
+                and a few others). This may be used to define
+                dependencies between devices and other units. To tag a
+                udev device, use <literal>TAG+="systemd"</literal> in
+                the udev rules file, see
+                <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+                for details.</para>
 
                 <para>Device units are named after the
                 <filename>/sys</filename> and
                 <filename>/dev</filename> paths they control. Example:
 
                 <para>Device units are named after the
                 <filename>/sys</filename> and
                 <filename>/dev</filename> paths they control. Example:
-                the device <filename>/dev/sda5</filename> is exposed
+                the device <filename noindex='true'>/dev/sda5</filename> is exposed
                 in systemd as <filename>dev-sda5.device</filename>. For
                 details about the escaping logic used to convert a
                 file system path to a unit name see
                 in systemd as <filename>dev-sda5.device</filename>. For
                 details about the escaping logic used to convert a
                 file system path to a unit name see
 
                 <para>The settings of device units may either be
                 configured via unit files, or directly from the udev
 
                 <para>The settings of device units may either be
                 configured via unit files, or directly from the udev
-                database (which is recommended). The following udev
+                database (which is recommended). The following udev device
                 properties are understood by systemd:</para>
 
                 <variablelist class='udev-directives'>
                         <varlistentry>
                                 <term><varname>SYSTEMD_WANTS=</varname></term>
                 properties are understood by systemd:</para>
 
                 <variablelist class='udev-directives'>
                         <varlistentry>
                                 <term><varname>SYSTEMD_WANTS=</varname></term>
+                                <term><varname>SYSTEMD_USER_WANTS=</varname></term>
                                 <listitem><para>Adds dependencies of
                                 <listitem><para>Adds dependencies of
-                                type <varname>Wants</varname> from
-                                this unit to all listed units. This
-                                may be used to activate arbitrary
-                                units, when a specific device becomes
-                                available. Note that this and the
+                                type <varname>Wants</varname> from the
+                                device unit to all listed units. The
+                                first form is used by the system
+                                systemd instance, the second by user
+                                systemd instances. Those settings may
+                                be used to activate arbitrary units
+                                when a specific device becomes
+                                available.</para>
+
+                                <para>Note that this and the
                                 other tags are not taken into account
                                 unless the device is tagged with the
                                 other tags are not taken into account
                                 unless the device is tagged with the
-                                "<literal>systemd</literal>" string in
+                                <literal>systemd</literal> string in
                                 the udev database, because otherwise
                                 the udev database, because otherwise
-                                the device is not exposed as systemd
-                                unit.</para></listitem>
+                                the device is not exposed as a systemd
+                                unit (see above).</para>
+
+                                <para>Note that systemd will only act
+                                on <varname>Wants</varname>
+                                dependencies when a device first
+                                becomes active. It will not act on
+                                them if they are added to devices that
+                                are already active. Use
+                                <varname>SYSTEMD_READY=</varname> (see
+                                below) to influence on which udev
+                                event to trigger the dependencies.
+                                </para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                         </varlistentry>
 
                         <varlistentry>
 
                         <varlistentry>
                                 <term><varname>SYSTEMD_READY=</varname></term>
 
                         <varlistentry>
                                 <term><varname>SYSTEMD_READY=</varname></term>
-                                <listitem><para>If set to 0 systemd
+                                <listitem><para>If set to 0, systemd
                                 will consider this device unplugged
                                 even if it shows up in the udev
                                 tree. If this property is unset or set
                                 will consider this device unplugged
                                 even if it shows up in the udev
                                 tree. If this property is unset or set
-                                to 1 the device will be considered
-                                plugged the moment it shows up in the
+                                to 1, the device will be considered
+                                plugged if it is visible in the
                                 udev tree. This property has no
                                 influence on the behavior when a
                                 device disappears from the udev
                                 udev tree. This property has no
                                 influence on the behavior when a
                                 device disappears from the udev
-                                tree. This option is useful to support
+                                tree.</para>
+
+                                <para>This option is useful to support
                                 devices that initially show up in an
                                 devices that initially show up in an
-                                uninitialized state in the tree, and for
-                                which a changed event is generated the
-                                moment they are fully set
-                                up.</para></listitem>
+                                uninitialized state in the tree, and
+                                for which a <literal>changed</literal>
+                                event is generated the moment they are
+                                fully set up. Note that
+                                <varname>SYSTEMD_WANTS=</varname> (see
+                                above) is not acted on as long as
+                                <varname>SYSTEMD_READY=0</varname> is
+                                set for a device.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                         </varlistentry>
 
                         <varlistentry>
                           <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                           <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
                           <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                           <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                           <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
                           <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
-                          <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+                          <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
+                          <citerefentry><refentrytitle>systemd.directives</refentrytitle><manvolnum>7</manvolnum></citerefentry>
                   </para>
         </refsect1>
 
                   </para>
         </refsect1>