Програма loginctl
входить до набору утиліт systemd
, що дають змогу керувати системою. Вона дає право керувати поточними сесіями користувачів, дивитися список активних користувачів, виконувати блокування екрана або взагалі переривати сесії, завершувати процеси користувачів. Не так давно з цією метою користувачі застосовували кілька програм і конфігураційні файли. Але вже зараз усе потрібно зібрано в одному місці.
Програма loginctl
дає право користувачеві керувати всім, що має відношення до авторизації користувачів. У документації написано, що програма призначена для управління менеджером входу в систему systemd-logind
.
Утиліта керує:
(user
) - користувач, який пройшов реєстрацію в системі;(session
) - вхід користувачем у систему, кожен вхід, за винятком sudo
і su
, розцінюється як нова сесія. Можна пройти авторизацію за кількома TTY, за SSH. Вхід у графічному менеджері теж буде розцінюватися як нова сесія;(seat
) - концепція, що дає змогу під'єднати до PC кілька моніторів або пристроїв периферії, і використовувати його різними користувачами в один момент. Але, як правило, це не використовують, і програма відображає тільки одне робоче місце.Розглянемо синтаксис і доступні опції loginctl
.
Синтаксис програми простий і зрозумілий:
$ loginctl [options] command [arguments]
Ось команди, доступні для використання:
list-sessions
- вивести список сесій.
session-status
- виводить стан сесії, дату авторизації, інформацію про основні запущені сервіси та процеси.
show-session
- виводить налаштування сесії.
activate
- дає змогу переключитися на зазначену сесію.
lock-session
- блокує екран для зазначеної сесії; якщо ID сесії не задано, блокує екран для поточної сесії.
unlock-session
- розблокує екран для зазначеної сесії.
kill-session
- дає змогу завершити сесію або надіслати певний сигнал усім процесам.
terminate-session
- завершує вказану сесію.
list-users
- виводить список користувачів, які авторизовані в цей момент.
user-status
- аналогічно session-status
, виводить дату авторизації, стан і всі запущені процеси у вигляді дерева.
show-user
- виводить інформацію про користувача та його поточну сесію без запущених процесів.
terminate-user
- завершує всі сесії користувача і всі його процеси.
kill-user
- надсилає сигнал усім процесам користувача, за замовчуванням надсилається SIGTERM
.
list-seats
- вивести список робочих місць.
seat-status
- виводить усі процеси, запущені в межах зазначеного робочого місця.
show-seat
- виводить налаштування робочого місця.
terminate-seat
- завершує всі процеси робочого місця.
Налаштування робочих місць не буде розглядатися в рамках цього матеріалу. Немає сенсу наводити команди. Звертаємо вашу увагу, що багато команд зможуть справно функціонувати тільки у випадку з графічним інтерфейсом, зокрема session-lock
або session-unlock
не підтримується для TTY або SSH сесій. У наступному матеріалі розглянемо реальні приклади.