Linux

Where Are systemd User Units Stored?

Where per-user systemd units live on Linux, and how they differ from system units.

Last updated

systemd reads user units from ~/.config/systemd/user (plus $XDG_CONFIG_HOME and /etc/systemd/user fallbacks). Those units belong to your login session, not the machine. System units live separately under /lib/systemd/system and /etc/systemd/system.

The --user flag is the whole interface: systemctl --user status, enable, start. Drop-ins for overrides sit in <unit>.d/ beside the file. Keep user timers here too; they follow the same lookup.

Where systemd stores this, by platform

Linux
~/.config/systemd/user/

Per-user units and <unit>.d overrides. Reload with systemctl --user daemon-reload. System units live in /etc/systemd/system and /lib/systemd/system instead.

Frequently asked questions

How do I install a user service?

Put the unit in ~/.config/systemd/user/, run systemctl --user daemon-reload, then systemctl --user enable --now <name>. User units run with your privileges and can linger after logout with loginctl enable-linger. System units stay in /etc/systemd/system.

What are the limits of user units?

User units cannot bind privileged ports or manage hardware. They also stop at logout unless lingering is enabled. Anything needing root or boot ordering belongs in the system directories instead.

Notice an outdated path? Let us know.