Skip to main content
Kill -9 Club
Sign in

target

Services

A unit that runs nothing. .target is a name other units attach themselves to, and a state the machine can boot into: multi-user.target starts no process of its own, it gathers the services that declared WantedBy=multi-user.target. Read as a runlevel it misleads. The old runlevels survive only as symlinks onto these names — readlink /usr/lib/systemd/system/runlevel3.target prints multi-user.target. Two costs follow from getting it wrong. Grouping is not ordering: reaching a target says its members were pulled in, not that any of them finished starting. And on a headless 24.04 nobody has run systemctl set-default on, systemctl get-default answers graphical.target, which is only Requires=multi-user.target plus a Wants=display-manager.service with nothing to grant — the boot succeeds, and the reading alarms you for nothing.

Also written: .target, unit target