loginctl — утилита из состава systemd-logind для управления пользовательскими сессиями, пользователями и физическими рабочими местами прямо из терминала.
Просмотр сессий:
loginctl list-sessions
Показывает все активные сессии: ID, UID, пользователь, seat, TTY. Если в TTY видите pts/0 — это SSH, tty2 — виртуальный терминал.
Детали конкретной сессии:
loginctl show-session 3
loginctl session-status 3
show-session — машиночитаемый вывод свойств. session-status — читаемый статус + cgroup-дерево процессов.
Работа с пользователями
loginctl list-users
loginctl user-status alice
loginctl show-user alice
Завершение сессий
# Завершить одну сессию
loginctl terminate-session 5
# Завершить все сессии пользователя
loginctl terminate-user bob
# Жёстко убить все процессы сессии
loginctl kill-session 5 -s SIGKILL
# Заблокировать / разблокировать экран
loginctl lock-session 3
loginctl unlock-session 3
terminate завершает корректно через logind. kill -s SIGKILL — крайняя мера, убивает всё без разбора.По умолчанию пользовательские systemd --user сервисы умирают, когда пользователь выходит из системы. Linger это отключает:
loginctl enable-linger alice
loginctl disable-linger alice
# Проверить
loginctl show-user alice | grep Linger
Это для ботов, воркеров и сервисов на серверах, где пользователь заходит редко, но процесс должен жить постоянно. Небольшой, но ёмкий инструмент.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера