Управление сеансами пользователей с помощью systemd-logind в НАЙС ОС

В НАЙС ОС управление сеансами пользователей осуществляется с помощью службы systemd-logind. Эта служба отвечает за управление пользователями и их сеансами, включая обработку входа и выхода, управление устройствами, привязку устройств к сеансам и многое другое. В этом руководстве мы рассмотрим, как использовать systemd-logind для управления сеансами пользователей.

Основные функции systemd-logind

Служба systemd-logind предоставляет следующие основные функции:

  • Управление сеансами пользователей.
  • Отслеживание входов и выходов пользователей.
  • Привязка устройств к сеансам.
  • Управление энергопотреблением, включая гибернацию и перезагрузку.
  • Управление блокировкой экрана и отключением экрана.

Просмотр информации о сеансах пользователей

Для просмотра информации о текущих сеансах пользователей используется команда loginctl. Пример использования:


# Просмотр всех активных сеансов
loginctl list-sessions

# Просмотр информации о конкретном сеансе
loginctl show-session [SESSION_ID]

# Просмотр всех пользователей и их сеансов
loginctl list-users

# Просмотр информации о конкретном пользователе
loginctl show-user [USER_ID]
    

Управление сеансами пользователей

Команда loginctl позволяет управлять сеансами пользователей, включая их завершение и блокировку. Примеры использования:


# Завершение сеанса пользователя
loginctl terminate-session [SESSION_ID]

# Завершение всех сеансов пользователя
loginctl terminate-user [USER_ID]

# Блокировка сеанса пользователя
loginctl lock-session [SESSION_ID]

# Разблокировка сеанса пользователя
loginctl unlock-session [SESSION_ID]

# Блокировка всех сеансов пользователя
loginctl lock-user [USER_ID]

# Разблокировка всех сеансов пользователя
loginctl unlock-user [USER_ID]
    

Управление энергопотреблением

Служба systemd-logind также предоставляет команды для управления энергопотреблением системы. Примеры использования:


# Перевести систему в режим гибернации
loginctl hibernate

# Перевести систему в спящий режим
loginctl suspend

# Перевести систему в режим ожидания
loginctl hybrid-sleep

# Перезагрузить систему
loginctl reboot

# Выключить систему
loginctl poweroff
    

Настройка systemd-logind

Конфигурационные файлы systemd-logind находятся в каталоге /etc/systemd/logind.conf. Основные параметры, которые можно настроить:

  • KillUserProcesses — определяет, должны ли процессы пользователя быть завершены при выходе из системы.
  • HandlePowerKey — задает действие при нажатии кнопки питания.
  • HandleSuspendKey — задает действие при нажатии кнопки перевода в спящий режим.
  • HandleHibernateKey — задает действие при нажатии кнопки гибернации.
  • HandleLidSwitch — задает действие при закрытии крышки ноутбука.

Пример конфигурационного файла /etc/systemd/logind.conf


# Открытие файла для редактирования
sudo nano /etc/systemd/logind.conf

# Пример содержимого файла
[Login]
KillUserProcesses=yes
HandlePowerKey=poweroff
HandleSuspendKey=suspend
HandleHibernateKey=hibernate
HandleLidSwitch=suspend
    

После внесения изменений в конфигурационный файл необходимо перезапустить службу systemd-logind для применения новых настроек:


# Перезапуск службы systemd-logind
sudo systemctl restart systemd-logind
    

Дополнительные команды loginctl

Команда loginctl поддерживает несколько дополнительных параметров и опций для управления сеансами и пользователями:

  • enable-linger [USER] — позволяет пользователю оставлять сеансы активными после выхода из системы.
  • disable-linger [USER] — запрещает пользователю оставлять сеансы активными после выхода из системы.
  • show-seat [SEAT] — отображает информацию о конкретном сидении (seat).
  • list-seats — отображает все сидения (seats) в системе.

Примеры использования дополнительных команд


# Разрешить пользователю оставлять сеансы активными после выхода
sudo loginctl enable-linger [USER]

# Запретить пользователю оставлять сеансы активными после выхода
sudo loginctl disable-linger [USER]

# Просмотр информации о конкретном сидении
loginctl show-seat [SEAT]

# Просмотр всех сидений в системе
loginctl list-seats
    

Использование systemd-logind и команды loginctl позволяет эффективно управлять сеансами пользователей, контролировать энергопотребление и обеспечивать безопасность системы в НАЙС ОС.