loginctl
Overview
loginctl manages systemd-logind seats, sessions, and users: who is logged in, idle hints, kill sessions, and lingering (keep user services running after logout). Essential for systemd user instances and multi-seat systems.
Syntax
loginctl [options] command [args...]Common Commands
| Command | Description |
|---|---|
list-sessions |
Active sessions |
session-status ID |
Detail |
user-status USER |
User’s sessions / linger |
list-users |
Users with sessions |
enable-linger / disable-linger |
User services without login |
terminate-session / kill-session |
End session |
lock-session |
Lock session (where a lock agent exists) |
show-session |
Low-level properties |
Examples with Explanations
Who is logged in
loginctl list-sessions
loginctl list-users
whoSession details
loginctl session-status
loginctl show-session "$XDG_SESSION_ID" -p Remote -p Type -p StateEnable lingering for user services
loginctl enable-linger "$USER"
# or for another account:
sudo loginctl enable-linger deploy
systemctl --user statusRequired for rootless Podman/user timers to survive logout.
Terminate a stale session
loginctl list-sessions
sudo loginctl terminate-session 42Notes & Pitfalls
- Killing sessions drops that session’s processes (including SSH shells attached to it).
- Linger creates
/var/lib/systemd/linger/USER.
- In containers, logind may be absent.
Additional Resources
man loginctl
man logind.conf