chiark / gitweb /
man: properly document the system targets that are also available for the user instance
[elogind.git] / man / systemd.special.xml
1 <?xml version='1.0'?> <!--*-nxml-*-->
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3         "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4
5 <!--
6   This file is part of systemd.
7
8   Copyright 2010 Lennart Poettering
9
10   systemd is free software; you can redistribute it and/or modify it
11   under the terms of the GNU Lesser General Public License as published by
12   the Free Software Foundation; either version 2.1 of the License, or
13   (at your option) any later version.
14
15   systemd is distributed in the hope that it will be useful, but
16   WITHOUT ANY WARRANTY; without even the implied warranty of
17   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18   Lesser General Public License for more details.
19
20   You should have received a copy of the GNU Lesser General Public License
21   along with systemd; If not, see <http://www.gnu.org/licenses/>.
22 -->
23
24 <refentry id="systemd.special">
25
26         <refentryinfo>
27                 <title>systemd.special</title>
28                 <productname>systemd</productname>
29
30                 <authorgroup>
31                         <author>
32                                 <contrib>Developer</contrib>
33                                 <firstname>Lennart</firstname>
34                                 <surname>Poettering</surname>
35                                 <email>lennart@poettering.net</email>
36                         </author>
37                 </authorgroup>
38         </refentryinfo>
39
40         <refmeta>
41                 <refentrytitle>systemd.special</refentrytitle>
42                 <manvolnum>7</manvolnum>
43         </refmeta>
44
45         <refnamediv>
46                 <refname>systemd.special</refname>
47                 <refpurpose>Special systemd units</refpurpose>
48         </refnamediv>
49
50         <refsynopsisdiv>
51                 <para><filename>basic.target</filename>,
52                 <filename>bluetooth.target</filename>,
53                 <filename>ctrl-alt-del.target</filename>,
54                 <filename>cryptsetup.target</filename>,
55                 <filename>dbus.service</filename>,
56                 <filename>dbus.socket</filename>,
57                 <filename>default.target</filename>,
58                 <filename>display-manager.service</filename>,
59                 <filename>emergency.target</filename>,
60                 <filename>exit.target</filename>,
61                 <filename>final.target</filename>,
62                 <filename>getty.target</filename>,
63                 <filename>graphical.target</filename>,
64                 <filename>halt.target</filename>,
65                 <filename>hibernate.target</filename>,
66                 <filename>hybrid-sleep.target</filename>,
67                 <filename>initrd-fs.target</filename>,
68                 <filename>kbrequest.target</filename>,
69                 <filename>kexec.target</filename>,
70                 <filename>local-fs.target</filename>,
71                 <filename>local-fs-pre.target</filename>,
72                 <filename>multi-user.target</filename>,
73                 <filename>network.target</filename>,
74                 <filename>nss-lookup.target</filename>,
75                 <filename>nss-user-lookup.target</filename>,
76                 <filename>paths.target</filename>,
77                 <filename>poweroff.target</filename>,
78                 <filename>printer.target</filename>,
79                 <filename>reboot.target</filename>,
80                 <filename>remote-fs.target</filename>,
81                 <filename>remote-fs-pre.target</filename>,
82                 <filename>remote-fs-setup.target</filename>,
83                 <filename>rescue.target</filename>,
84                 <filename>initrd-root-fs.target</filename>,
85                 <filename>rpcbind.target</filename>,
86                 <filename>runlevel2.target</filename>,
87                 <filename>runlevel3.target</filename>,
88                 <filename>runlevel4.target</filename>,
89                 <filename>runlevel5.target</filename>,
90                 <filename>shutdown.target</filename>,
91                 <filename>sigpwr.target</filename>,
92                 <filename>sleep.target</filename>,
93                 <filename>smartcard.target</filename>,
94                 <filename>sockets.target</filename>,
95                 <filename>sound.target</filename>,
96                 <filename>suspend.target</filename>,
97                 <filename>swap.target</filename>,
98                 <filename>sysinit.target</filename>,
99                 <filename>syslog.socket</filename>,
100                 <filename>system-update.target</filename>,
101                 <filename>time-sync.target</filename>,
102                 <filename>timers.target</filename>,
103                 <filename>umount.target</filename></para>
104         </refsynopsisdiv>
105
106         <refsect1>
107                 <title>Description</title>
108
109                 <para>A few units are treated specially by
110                 systemd. They have special internal semantics and
111                 cannot be renamed.</para>
112         </refsect1>
113
114         <refsect1>
115                 <title>Special System Units</title>
116
117                 <variablelist>
118                         <varlistentry>
119                                 <term><filename>basic.target</filename></term>
120                                 <listitem>
121                                         <para>A special target unit
122                                         covering basic boot-up.</para>
123                                         <para>systemd automatically
124                                         adds dependencies of the types
125                                         <varname>Requires=</varname>
126                                         and <varname>After=</varname>
127                                         for this target unit to all
128                                         services (except for those
129                                         with
130                                         <varname>DefaultDependencies=no</varname>).</para>
131
132                                         <para>Usually this should
133                                         pull-in all mount points, swap
134                                         devices, sockets, timers, and
135                                         path units and other basic
136                                         initialization necessary for
137                                         general purpose
138                                         daemons.</para>
139                                 </listitem>
140                         </varlistentry>
141                         <varlistentry>
142                                 <term><filename>ctrl-alt-del.target</filename></term>
143                                 <listitem>
144                                         <para>systemd starts this
145                                         target whenever
146                                         Control+Alt+Del is pressed on
147                                         the console. Usually this
148                                         should be aliased (symlinked)
149                                         to
150                                         <filename>reboot.target</filename>.</para>
151                                 </listitem>
152                         </varlistentry>
153                         <varlistentry>
154                                 <term><filename>cryptsetup.target</filename></term>
155                                 <listitem>
156                                         <para>A target that pulls in
157                                         setup services for all
158                                         encrypted block
159                                         devices.</para>
160                                 </listitem>
161                         </varlistentry>
162                         <varlistentry>
163                                 <term><filename>dbus.service</filename></term>
164                                 <listitem>
165                                         <para>A special unit for the
166                                         D-Bus bus daemon. As soon as
167                                         this service is fully started
168                                         up systemd will connect to it
169                                         and register its
170                                         service.</para>
171                                 </listitem>
172                         </varlistentry>
173                         <varlistentry>
174                                 <term><filename>dbus.socket</filename></term>
175                                 <listitem>
176                                         <para>A special unit for the
177                                         D-Bus system bus socket. All
178                                         units with
179                                         <varname>Type=dbus</varname>
180                                         automatically gain a
181                                         dependency on this
182                                         unit.</para>
183                                 </listitem>
184                         </varlistentry>
185                         <varlistentry>
186                                 <term><filename>default.target</filename></term>
187                                 <listitem>
188                                         <para>The default unit systemd
189                                         starts at bootup. Usually this
190                                         should be aliased (symlinked)
191                                         to
192                                         <filename>multi-user.target</filename>
193                                         or
194                                         <filename>graphical.target</filename>.</para>
195
196                                         <para>The default unit systemd
197                                         starts at bootup can be
198                                         overridden with the
199                                         <varname>systemd.unit=</varname>
200                                         kernel command line option.</para>
201                                 </listitem>
202                         </varlistentry>
203                         <varlistentry>
204                                 <term><filename>display-manager.service</filename></term>
205                                 <listitem>
206                                         <para>The display manager
207                                         service. Usually this should
208                                         be aliased (symlinked) to
209                                         <filename>gdm.service</filename>
210                                         or a similar display manager
211                                         service.</para>
212                                 </listitem>
213                         </varlistentry>
214                         <varlistentry>
215                                 <term><filename>emergency.target</filename></term>
216                                 <listitem>
217                                         <para>A special target unit
218                                         that starts an emergency
219                                         shell on the main
220                                         console. This unit is supposed
221                                         to be used with the kernel
222                                         command line option
223                                         <varname>systemd.unit=</varname>
224                                         and has otherwise little use.
225                                         </para>
226                                 </listitem>
227                         </varlistentry>
228                         <varlistentry>
229                                 <term><filename>final.target</filename></term>
230                                 <listitem>
231                                         <para>A special target unit
232                                         that is used during the
233                                         shutdown logic and may be used
234                                         to pull in late services after
235                                         all normal services are
236                                         already terminated and all
237                                         mounts unmounted.
238                                         </para>
239                                 </listitem>
240                         </varlistentry>
241                         <varlistentry>
242                                 <term><filename>getty.target</filename></term>
243                                 <listitem>
244                                         <para>A special target unit
245                                         that pulls in statically
246                                         configured local TTY
247                                         <filename>getty</filename>
248                                         instances.
249                                         </para>
250                                 </listitem>
251                         </varlistentry>
252                         <varlistentry>
253                                 <term><filename>graphical.target</filename></term>
254                                 <listitem>
255                                         <para>A special target unit
256                                         for setting up a graphical
257                                         login screen. This pulls in
258                                         <filename>multi-user.target</filename>.</para>
259
260                                         <para>Units that are needed
261                                         for graphical logins shall add
262                                         <varname>Wants=</varname>
263                                         dependencies for their unit to
264                                         this unit (or
265                                         <filename>multi-user.target</filename>)
266                                         during installation. This is
267                                         best configured via
268                                         <varname>WantedBy=graphical.target</varname>
269                                         in the unit's
270                                         <literal>[Install]</literal>
271                                         section.</para>
272                                 </listitem>
273                         </varlistentry>
274                         <varlistentry>
275                                 <term><filename>hibernate.target</filename></term>
276                                 <listitem>
277                                         <para>A special target unit
278                                         for hibernating the
279                                         system. This pulls in
280                                         <filename>sleep.target</filename>.</para>
281                                 </listitem>
282                         </varlistentry>
283                         <varlistentry>
284                                 <term><filename>hybrid-sleep.target</filename></term>
285                                 <listitem>
286                                         <para>A special target unit
287                                         for hibernating and suspending the
288                                         system at the same time. This pulls in
289                                         <filename>sleep.target</filename>.</para>
290                                 </listitem>
291                         </varlistentry>
292                         <varlistentry>
293                                 <term><filename>halt.target</filename></term>
294                                 <listitem>
295                                         <para>A special target unit
296                                         for shutting down and halting
297                                         the system. Note that this
298                                         target is distinct from
299                                         <filename>poweroff.target</filename>
300                                         in that it generally really
301                                         just halts the system rather
302                                         than powering it down.</para>
303
304                                         <para>Applications wanting to
305                                         halt the system should start
306                                         this unit.</para>
307                                 </listitem>
308                         </varlistentry>
309                         <varlistentry>
310                                 <term><filename>initrd-fs.target</filename></term>
311                                 <listitem>
312                                         <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
313                                         automatically adds
314                                         dependencies of type
315                                         <varname>Before=</varname> to
316                                         <filename>sysroot-usr.mount</filename>
317                                         and all mount points fround in
318                                         <filename>/etc/fstab</filename>
319                                         that have the
320                                         <option>auto</option> and
321                                         <option>x-initrd.mount</option>
322                                         mount options set.
323                                         </para>
324                                 </listitem>
325                         </varlistentry>
326                         <varlistentry>
327                                 <term><filename>kbrequest.target</filename></term>
328                                 <listitem>
329                                         <para>systemd starts this
330                                         target whenever Alt+ArrowUp is
331                                         pressed on the console. This
332                                         is a good candidate to be
333                                         aliased (symlinked) to
334                                         <filename>rescue.target</filename>.</para>
335                                 </listitem>
336                         </varlistentry>
337                         <varlistentry>
338                                 <term><filename>kexec.target</filename></term>
339                                 <listitem>
340                                         <para>A special target unit
341                                         for shutting down and rebooting the system via kexec.</para>
342
343                                         <para>Applications wanting to
344                                         reboot the system with kexec should start
345                                         this unit.</para>
346                                 </listitem>
347                         </varlistentry>
348                         <varlistentry>
349                                 <term><filename>local-fs.target</filename></term>
350                                 <listitem>
351                                         <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
352                                         automatically adds
353                                         dependencies of type
354                                         <varname>Before=</varname> to
355                                         all mount units that refer to
356                                         local mount points for this
357                                         target unit. In addition, it
358                                         adds dependencies of type
359                                         <varname>Wants=</varname> to
360                                         this target unit for those
361                                         mounts listed in
362                                         <filename>/etc/fstab</filename>
363                                         that have the
364                                         <option>auto</option> mount
365                                         option set.</para>
366                                 </listitem>
367                         </varlistentry>
368                         <varlistentry>
369                                 <term><filename>multi-user.target</filename></term>
370                                 <listitem>
371                                         <para>A special target unit
372                                         for setting up a multi-user
373                                         system (non-graphical). This
374                                         is pulled in by
375                                         <filename>graphical.target</filename>.</para>
376
377                                         <para>Units that are needed
378                                         for a multi-user system shall
379                                         add <varname>Wants=</varname>
380                                         dependencies for their unit to
381                                         this unit during
382                                         installation. This is best
383                                         configured via
384                                         <varname>WantedBy=multi-uer.target</varname>
385                                         in the unit's
386                                         <literal>[Install]</literal>
387                                         section.</para>
388                                 </listitem>
389                         </varlistentry>
390                         <varlistentry>
391                                 <term><filename>network.target</filename></term>
392                                 <listitem>
393                                         <para>systemd automatically
394                                         adds dependencies of type
395                                         <varname>After=</varname> for
396                                         this target unit to all SysV
397                                         init script service units with
398                                         an LSB header referring to the
399                                         <literal>$network</literal>
400                                         facility.</para>
401
402                                         <para>This unit is supposed to
403                                         indicate when the network is
404                                         "up", but it is only very
405                                         loosely defined what that is
406                                         supposed to mean. Also see <ulink
407                                         url="http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget">Running
408                                         Services After the Network is
409                                         up</ulink> for more
410                                         information.</para>
411                                 </listitem>
412                         </varlistentry>
413                         <varlistentry>
414                                 <term><filename>paths.target</filename></term>
415                                 <listitem>
416                                         <para>A special target unit
417                                         that sets up all path units
418                                         (see
419                                         <citerefentry><refentrytitle>systemd.path</refentrytitle><manvolnum>5</manvolnum></citerefentry>
420                                         for details) that shall be
421                                         active after boot.</para>
422
423                                         <para>It is recommended that
424                                         path units installed by
425                                         applications get pulled in via
426                                         <varname>Wants=</varname>
427                                         dependencies from this
428                                         unit. This is best configured
429                                         via a
430                                         <varname>WantedBy=paths.target</varname>
431                                         in the path unit's
432                                         <literal>[Install]</literal>
433                                         section.</para>
434                                 </listitem>
435                         </varlistentry>
436                         <varlistentry>
437                                 <term><filename>poweroff.target</filename></term>
438                                 <listitem>
439                                         <para>A special target unit
440                                         for shutting down and powering off the system.</para>
441
442                                         <para>Applications wanting to
443                                         power off the system should start
444                                         this unit.</para>
445
446                                         <para><filename>runlevel0.target</filename>
447                                         is an alias for this target
448                                         unit, for compatibility with SysV.</para>
449                                 </listitem>
450                         </varlistentry>
451                         <varlistentry>
452                                 <term><filename>reboot.target</filename></term>
453                                 <listitem>
454                                         <para>A special target unit
455                                         for shutting down and rebooting the system.</para>
456
457                                         <para>Applications wanting to
458                                         reboot the system should start
459                                         this unit.</para>
460
461                                         <para><filename>runlevel6.target</filename>
462                                         is an alias for this target
463                                         unit, for compatibility with SysV.</para>
464                                 </listitem>
465                         </varlistentry>
466                         <varlistentry>
467                                 <term><filename>remote-fs.target</filename></term>
468                                 <listitem>
469                                         <para>Similar to
470                                         <filename>local-fs.target</filename>,
471                                         but for remote mount
472                                         points.</para>
473
474                                         <para>systemd automatically
475                                         adds dependencies of type
476                                         <varname>After=</varname> for
477                                         this target unit to all SysV
478                                         init script service units with
479                                         an LSB header referring to the
480                                         <literal>$remote_fs</literal>
481                                         facility.</para>
482                                 </listitem>
483                         </varlistentry>
484                         <varlistentry>
485                                 <term><filename>remote-fs-setup.target</filename></term>
486                                 <listitem>
487                                         <para>This target unit is
488                                         automatically pulled in (by a
489                                         <varname>Wants=</varname> type
490                                         dependency) by all remote
491                                         mount points. It can be used
492                                         to run certain units when at
493                                         least one remote file system
494                                         is to be mounted. Note that
495                                         this target is not ordered
496                                         against the remote mounts, use
497                                         <filename>remote-fs-pre.target</filename>
498                                         for that (see below).</para>
499
500                                         <para>Again, this target unit
501                                         is <emphasis>not</emphasis>
502                                         suitable for ordering, it is
503                                         only useful for pulling in
504                                         other units.</para>
505                                 </listitem>
506                         </varlistentry>
507                         <varlistentry>
508                                 <term><filename>rescue.target</filename></term>
509                                 <listitem>
510                                         <para>A special target unit
511                                         for setting up the base system
512                                         and a rescue shell.</para>
513
514                                         <para><filename>runlevel1.target</filename>
515                                         is an alias for this target
516                                         unit, for compatibility with SysV.</para>
517                                 </listitem>
518                         </varlistentry>
519                         <varlistentry>
520                                 <term><filename>initrd-root-fs.target</filename></term>
521                                 <listitem>
522                                         <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>3</manvolnum></citerefentry>
523                                         automatically adds
524                                         dependencies of type
525                                         <varname>Before=</varname> to
526                                         the
527                                         <filename>sysroot.mount</filename>
528                                         unit, which is generated from
529                                         the kernel command line.
530                                         </para>
531                                 </listitem>
532                         </varlistentry>
533                         <varlistentry>
534                                 <term><filename>runlevel2.target</filename></term>
535                                 <term><filename>runlevel3.target</filename></term>
536                                 <term><filename>runlevel4.target</filename></term>
537                                 <term><filename>runlevel5.target</filename></term>
538                                 <listitem>
539                                         <para>These are targets that
540                                         are called whenever the SysV
541                                         compatibility code asks for
542                                         runlevel 2, 3, 4, 5,
543                                         respectively. It is a good
544                                         idea to make this an alias for
545                                         (i.e. symlink to)
546                                         <filename>multi-user.target</filename>
547                                         (for runlevel 2) or
548                                         <filename>graphical.target</filename>
549                                         (the others).</para>
550                                 </listitem>
551                         </varlistentry>
552                         <varlistentry>
553                                 <term><filename>shutdown.target</filename></term>
554                                 <listitem>
555                                         <para>A special target unit
556                                         that terminates the services
557                                         on system shutdown.</para>
558
559                                         <para>Services that shall be
560                                         terminated on system shutdown
561                                         shall add <varname>Conflicts=</varname>
562                                         dependencies to this unit for
563                                         their service unit, which is
564                                         implicitly done when
565                                         <varname>DefaultDependencies=yes</varname>
566                                         is set (the default).</para>
567                                 </listitem>
568                         </varlistentry>
569                         <varlistentry>
570                                 <term><filename>sigpwr.target</filename></term>
571                                 <listitem>
572                                         <para>A special target that is
573                                         started when systemd receives
574                                         the SIGPWR process signal,
575                                         which is normally sent by the
576                                         kernel or UPS daemons when
577                                         power fails.</para>
578                                 </listitem>
579                         </varlistentry>
580                         <varlistentry>
581                                 <term><filename>sleep.target</filename></term>
582                                 <listitem>
583                                         <para>A special target unit
584                                         that is pulled in by
585                                         <filename>suspend.target</filename>,
586                                         <filename>hibernate.target</filename>
587                                         and
588                                         <filename>hybrid-sleep.target</filename>
589                                         and may be used to hook units
590                                         into the sleep state
591                                         logic.</para>
592                                 </listitem>
593                         </varlistentry>
594                         <varlistentry>
595                                 <term><filename>sockets.target</filename></term>
596                                 <listitem>
597                                         <para>A special target unit
598                                         that sets up all socket
599                                         units.(see
600                                         <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>
601                                         for details) that shall be
602                                         active after boot.</para>
603
604                                         <para>Services that can be
605                                         socket-activated shall add
606                                         <varname>Wants=</varname>
607                                         dependencies to this unit for
608                                         their socket unit during
609                                         installation. This is best
610                                         configured via a
611                                         <varname>WantedBy=sockets.target</varname>
612                                         in the socket unit's
613                                         <literal>[Install]</literal>
614                                         section.</para>
615                                 </listitem>
616                         </varlistentry>
617                         <varlistentry>
618                                 <term><filename>suspend.target</filename></term>
619                                 <listitem>
620                                         <para>A special target unit
621                                         for suspending the
622                                         system. This pulls in
623                                         <filename>sleep.target</filename>.</para>
624                                 </listitem>
625                         </varlistentry>
626                         <varlistentry>
627                                 <term><filename>swap.target</filename></term>
628                                 <listitem>
629                                         <para>Similar to
630                                         <filename>local-fs.target</filename>, but for swap
631                                         partitions and swap
632                                         files.</para>
633                                 </listitem>
634                         </varlistentry>
635                         <varlistentry>
636                                 <term><filename>sysinit.target</filename></term>
637                                 <listitem>
638                                         <para>A special target unit
639                                         covering early boot-up scripts.</para>
640                                 </listitem>
641                         </varlistentry>
642                         <varlistentry>
643                                 <term><filename>syslog.socket</filename></term>
644                                 <listitem>
645                                         <para>The socket unit
646                                         syslog implementations should
647                                         listen on. All userspace log
648                                         messages will be made
649                                         available on this socket. For
650                                         more information about syslog
651                                         integration, please consult
652                                         the <ulink
653                                         url="http://www.freedesktop.org/wiki/Software/systemd/syslog">Syslog
654                                         Interface</ulink>
655                                         document.</para>
656                                 </listitem>
657                         </varlistentry>
658                         <varlistentry>
659                                 <term><filename>system-update.target</filename></term>
660                                 <listitem>
661                                         <para>A special target unit
662                                         that is used for off-line
663                                         system updates.
664                                         <citerefentry><refentrytitle>systemd-system-update-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
665                                         will redirect the boot process
666                                         to this target if
667                                         <filename>/system-update</filename>
668                                         exists. For more information
669                                         see the <ulink
670                                         url="http://freedesktop.org/wiki/Software/systemd/SystemUpdates">System
671                                         Updates
672                                         Specification</ulink>.</para>
673                                 </listitem>
674                         </varlistentry>
675                         <varlistentry>
676                                 <term><filename>timers.target</filename></term>
677                                 <listitem>
678                                         <para>A special target unit
679                                         that sets up all timer
680                                         units (see
681                                         <citerefentry><refentrytitle>systemd.timer</refentrytitle><manvolnum>5</manvolnum></citerefentry>
682                                         for details) that shall be
683                                         active after boot.</para>
684
685                                         <para>It is recommended that
686                                         timer units installed by
687                                         applications get pulled in via
688                                         <varname>Wants=</varname>
689                                         dependencies from this
690                                         unit. This is best configured
691                                         via
692                                         <varname>WantedBy=timers.target</varname>
693                                         in the timer unit's
694                                         <literal>[Install]</literal>
695                                         section.</para>
696                                 </listitem>
697                         </varlistentry>
698                         <varlistentry>
699                                 <term><filename>umount.target</filename></term>
700                                 <listitem>
701                                         <para>A special target unit
702                                         that umounts all mount and
703                                         automount points on system
704                                         shutdown.</para>
705
706                                         <para>Mounts that shall be
707                                         unmounted on system shutdown
708                                         shall add Conflicts
709                                         dependencies to this unit for
710                                         their mount unit, which is
711                                         implicitly done when
712                                         <varname>DefaultDependencies=yes</varname>
713                                         is set (the default).</para>
714                                 </listitem>
715                         </varlistentry>
716
717                 </variablelist>
718         </refsect1>
719
720         <refsect1>
721                 <title>Special System Units for Devices</title>
722
723                 <para>Some target units are automatically pulled in as
724                 devices of certain kinds show up in the system. These
725                 may be used to automatically activate various services
726                 based on the specific type of the available
727                 hardware.</para>
728
729                 <variablelist>
730                         <varlistentry>
731                                 <term><filename>bluetooth.target</filename></term>
732                                 <listitem>
733                                         <para>This target is started
734                                         automatically as soon as a
735                                         Bluetooth controller is
736                                         plugged in or becomes
737                                         available at boot.</para>
738
739                                         <para>This may be used to pull
740                                         in Bluetooth management
741                                         daemons dynamically when
742                                         Bluetooth hardware is
743                                         found.</para>
744                                 </listitem>
745                         </varlistentry>
746                         <varlistentry>
747                                 <term><filename>printer.target</filename></term>
748                                 <listitem>
749                                         <para>This target is started
750                                         automatically as soon as a
751                                         printer is plugged in or
752                                         becomes available at
753                                         boot.</para>
754
755                                         <para>This may be used to pull
756                                         in printer management
757                                         daemons dynamically when
758                                         printer hardware is
759                                         found.</para>
760                                 </listitem>
761                         </varlistentry>
762                         <varlistentry>
763                                 <term><filename>smartcard.target</filename></term>
764                                 <listitem>
765                                         <para>This target is started
766                                         automatically as soon as a
767                                         smartcard controller is
768                                         plugged in or becomes
769                                         available at boot.</para>
770
771                                         <para>This may be used to pull
772                                         in printer management
773                                         daemons dynamically when
774                                         smartcard hardware is
775                                         found.</para>
776                                 </listitem>
777                         </varlistentry>
778                         <varlistentry>
779                                 <term><filename>sound.target</filename></term>
780                                 <listitem>
781                                         <para>This target is started
782                                         automatically as soon as a
783                                         sound card is plugged in or
784                                         becomes available at
785                                         boot.</para>
786
787                                         <para>This may be used to pull
788                                         in audio management daemons
789                                         dynamically when printer
790                                         hardware is found.</para>
791                                 </listitem>
792                         </varlistentry>
793                 </variablelist>
794         </refsect1>
795
796         <refsect1>
797                 <title>Special Passive System Units </title>
798
799                 <para>A number of special system targets are defined
800                 that can be used to properly order boot-up of optional
801                 services. These targets are generally not part of the
802                 initial boot transaction, unless they are explicitly
803                 pulled in by one of the implementing services. Note
804                 specifically, that these <emphasis>passive</emphasis>
805                 target units are generally not pulled in by the
806                 consumer of a service, but by the provider of the
807                 service. This means: a consuming service should order
808                 itself after these targets (as appropriate), but not
809                 pull it in. A providing service should order itself
810                 before these targets (as appropriate) and pull it in
811                 (via a <varname>Wants=</varname> type
812                 dependency).</para>
813
814                 <variablelist>
815                         <varlistentry>
816                                 <term><filename>local-fs-pre.target</filename></term>
817                                 <listitem>
818                                         <para>This target unit is
819                                         automatically ordered before
820                                         all local mount points marked
821                                         with <option>auto</option>
822                                         (see above). It can be used to
823                                         execute certain units before
824                                         all local mounts.</para>
825                                 </listitem>
826                         </varlistentry>
827                         <varlistentry>
828                                 <term><filename>nss-lookup.target</filename></term>
829                                 <listitem>
830                                         <para>A target that should be
831                                         used as synchronization point
832                                         for all host/network name
833                                         service lookups. Note that
834                                         this is independent of
835                                         user/group name lookups for
836                                         which
837                                         <filename>nss-user-lookup.target</filename>
838                                         should be used. systemd
839                                         automatically adds
840                                         dependencies of type
841                                         <varname>After=</varname> for
842                                         this target unit to all SysV
843                                         init script service units with
844                                         an LSB header referring to the
845                                         <literal>$named</literal>
846                                         facility.</para>
847                                 </listitem>
848                         </varlistentry>
849                         <varlistentry>
850                                 <term><filename>nss-user-lookup.target</filename></term>
851                                 <listitem>
852                                         <para>A target that should be
853                                         used as synchronization point
854                                         for all user/group name
855                                         service lookups. Note that
856                                         this is independent of
857                                         host/network name lookups for
858                                         which
859                                         <filename>nss-lookup.target</filename>
860                                         should be used. </para>
861                                 </listitem>
862                         </varlistentry>
863                         <varlistentry>
864                                 <term><filename>remote-fs-pre.target</filename></term>
865                                 <listitem>
866                                         <para>This target unit is
867                                         automatically ordered before
868                                         all remote mount point units
869                                         (see above). It can be used to
870                                         run certain units before the
871                                         remote mounts are
872                                         established. Note that this
873                                         unit is generally not part of
874                                         the initial transaction,
875                                         unless the unit that wants to
876                                         be ordered before all remote
877                                         mounts pulls it in via a
878                                         <varname>Wants=</varname> type
879                                         dependency. If the unit wants
880                                         to be pulled in by the first
881                                         remote mount showing up it
882                                         should use
883                                         <filename>remote-fs-setup.target</filename>
884                                         (see above).</para>
885
886                                         <para>Again, this target unit
887                                         is <emphasis>not</emphasis>
888                                         suitable for pulling in other
889                                         units, it is only useful for
890                                         ordering.</para>
891                                 </listitem>
892                         </varlistentry>
893                         <varlistentry>
894                                 <term><filename>rpcbind.target</filename></term>
895                                 <listitem>
896                                         <para>systemd automatically
897                                         adds dependencies of type
898                                         <varname>After=</varname> for
899                                         this target unit to all SysV
900                                         init script service units with
901                                         an LSB header referring to the
902                                         <literal>$portmap</literal>
903                                         facility.</para>
904                                 </listitem>
905                         </varlistentry>
906                         <varlistentry>
907                                 <term><filename>time-sync.target</filename></term>
908                                 <listitem>
909                                         <para>systemd automatically
910                                         adds dependencies of type
911                                         <varname>After=</varname> for
912                                         this target unit to all SysV
913                                         init script service units with
914                                         an LSB header referring to the
915                                         <literal>$time</literal>
916                                         facility.</para>
917                                 </listitem>
918                         </varlistentry>
919                 </variablelist>
920         </refsect1>
921
922         <refsect1>
923                 <title>Special User Units</title>
924
925                 <para>When systemd runs as a user instance, the
926                 following special units are available, which have
927                 similar definitions as their system counterparts:
928                 <filename>default.target</filename>,
929                 <filename>shutdown.target</filename>,
930                 <filename>sockets.target</filename>,
931                 <filename>timers.target</filename>,
932                 <filename>paths.target</filename>,
933                 <filename>bluetooth.target</filename>,
934                 <filename>printer.target</filename>,
935                 <filename>smartcard.target</filename>,
936                 <filename>sound.target</filename>.</para>
937
938                 <para>In addition the following special unit is
939                 understood only when systemd runs as service instance:</para>
940
941                 <variablelist>
942                         <varlistentry>
943                                 <term><filename>exit.target</filename></term>
944                                 <listitem>
945                                         <para>A special service unit
946                                         for shutting down the
947                                         user service manager.</para>
948
949                                         <para>Applications wanting to
950                                         terminate the user service
951                                         manager should start this
952                                         unit. If systemd receives
953                                         SIGTERM or SIGINT when running
954                                         as user service daemon it will
955                                         start this unit.</para>
956
957                                         <para>Normally, this pulls in
958                                         <filename>shutdown.target</filename>
959                                         which in turn should be
960                                         conflicted by all units that
961                                         want to be shut down on
962                                         user service manager exit.</para>
963                                 </listitem>
964                         </varlistentry>
965                 </variablelist>
966         </refsect1>
967
968         <refsect1>
969                   <title>See Also</title>
970                   <para>
971                           <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
972                           <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
973                           <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
974                           <citerefentry><refentrytitle>systemd.socket</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
975                           <citerefentry><refentrytitle>systemd.target</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
976                           <citerefentry><refentrytitle>bootup</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
977                           <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
978                   </para>
979         </refsect1>
980
981 </refentry>