Manage Your Own Services with systemctl --user
systemd runs a per-user service manager: units in ~/.config/systemd/user/ can start at login without sudo.
01Command
$ systemctl --user enable --now myapp.service02What it does
User unit files live in ~/.config/systemd/user/ (system-wide per-user ones in /etc/systemd/user/), and `systemctl --user daemon-reload` picks up new files. By default user services die when you log out of all sessions; run `sudo loginctl enable-linger $USER` to keep them running in the background like a daemon. Common use cases: syncthing, podman containers, and notification daemons.
03Risk
04Undo
$ systemctl --user disable --now myapp.service05Sources
- systemctl(1) - Linux manual pageEvidence: The --user option talks to the service manager of the calling user rather than the system manager.
- systemd/User - ArchWikiEvidence: Documents the systemd user instance, unit placement in ~/.config/systemd/user/, and loginctl enable-linger for running services without an active session.
Last verified: 2026-09-17 · Category: System & Settings
06Related solutions
systemctl cat reveals a service's unit file plus every drop-in override; systemctl edit creates overrides without touching vendor files.
timedatectl lists, sets, and verifies the system timezone and NTP sync status on systemd distributions.
hostnamectl sets the static, transient, and pretty hostname in one step on systemd distros, no reboot required.