3.9.9.11 Управление сеансами пользователей с помощью systemd-logind
Systemd-logind — системная служба, которая управляет сеансами пользователей в операционной системе.
Файлом конфигурации службы systemd-logind является logind.conf. Для редактирования файла необходимы права суперпользователя root.
Откройте файл командой:
nano /etc/systemd/logind.conf
Содержимое файла выглядит следующим образом:
[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#HandleLidSwitchExternalPower=suspend
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RuntimeDirectoryInodes=400k
RemoveIPC=no
#InhibitorsMax=8192
#SessionsMax=8192
Основные моменты настройки systemd-logind:
Параметр NAutoVTs отвечает за количество виртуальных терминалов, предоставляемых по умолчанию (к ним можно обращаться с использованием сочетания клавиш «Ctrl+Alt+F[2-6]»). В РЕД ОС предоставляется 6 виртуальных терминалов. Для изменения их количества необходимо раскомментировать данную строку и указать требуемое число терминалов. Например:
NAutoVTs=3
Параметр ReserveVT определяет один виртуальный терминал, который будет зарезервирован и останется доступным, даже если он не входит в диапазон параметра NAutoVTs.
Параметр KillUserProcesses отвечает за работу процессов пользователей, которые вышли из системы. Может принимать значения:
yes — все процессы пользователя будут завершены при выходе из системы;
no — процессы пользователя продолжат свою работу даже после завершения сеанса.
По умолчанию данный параметр установлен в значение no.
Параметры KillOnlyUsers, KillExcludeUsers переопределяют параметр KillUserProcesses и принимают в качестве значения разделенные пробелами имена пользователей.
Параметр KillExcludeUsers (при KillUserProcesses=yes) отменяет завершение процессов указанных пользователей после выхода из сеанса.
Параметр KillOnlyUsers завершает процессы только указанных пользователей после выхода из сеанса. Если значение параметра не задано, будет применяться параметр KillUserProcesses.
Параметр InhibitDelayMaxSec задает максимальное время задержки запроса на выключение системы или переход в спящий режим. Значение по умолчанию равно 5 секунд.
Параметры HandlePowerKey, HandleSuspendKey, HandleHibernateKey, HandleLidSwitch, HandleLidSwitchExternalPower, HandleLidSwitchDocked отображают, каким образом logind обрабатывает запросы включения системы, перезагрузки и перехода в спящий режим, а также выключения и приостановки работы системы. Параметры могут принимать значения ignore, poweroff, reboot, halt, kexec, suspend, hibernate, hybrid-sleep, suspend-then-hibernate, lock и factory-reset.
Параметры PowerKeyIgnoreInhibited, SuspendKeyIgnoreInhibited, HibernateKeyIgnoreInhibited, LidSwitchIgnoreInhibited определяют, подлежат ли блокировке действия клавиш управления питанием, перехода в спящий режим или перезагрузки. Параметры могут принимать значения no (действия блокируются) или yes (действия не блокируются).
Параметр HoldoffTimeoutSec задает время ожидания после запуска системы или возобновления работы системы, в течение которого система не реагирует на события. Такая задержка необходима для обнаружения системой устройств с горячий подключением. Значение по умолчанию 30 секунд.
Параметр IdleAction отображает действие, которое необходимо выполнять, пока система находится в режиме ожидания. Может принимать такие значения, как ignore, poweroff, reboot, halt, kexec, suspend, hibernate, hybrid-sleep, suspend-then-hibernate и lock. Значение по умолчанию ignore.
Параметр IdleActionSec задает время, по истечении которого настроенное действие в IdleAction будет выполняться.
Параметр RuntimeDirectorySize отвечает за максимальный размер временных каталогов, создаваемых для пользователей во время работы системы. Принимает размер в байтах, но можно использовать стандартные суффиксы K, M, G и T. Также значение может быть отображено в процентном соотношении. По умолчанию используется 10% физической памяти, но ее можно увеличить. Этот параметр может быть полезен для контроля использования дискового пространства и предотвращения переполнения диска.
Параметр RemoveIPC отвечает за удаление межпроцессного взаимодействия (IPC) при выходе пользователя из системы. Если параметр установлен в значение yes, то все IPC-объекты, созданные пользователем, будут удалены при его выходе из системы.
Параметр InhibitorsMax определяет максимальное количество процессов, которые могут быть заблокированы одновременно. Эти процессы могут быть заблокированы для предотвращения перезагрузки или выключения системы во время их выполнения. Если значение параметра указано 0, то блокировка процессов отключена. Если значение параметра установлено как отрицательное число, то количество заблокированных процессов не ограничено.
Параметр SessionsMax определяет максимальное количество одновременных сеансов пользователя. Если значение параметра установлено в 0, то количество сеансов не ограничено. Если значение параметра больше 0, то это означает максимальное количество сеансов, которые пользователь может открыть одновременно. Если пользователь пытается открыть новый сеанс, когда уже достигнуто максимальное количество сеансов, то ему будет выдано сообщение об ошибке. Этот параметр может быть полезен для ограничения количества одновременных сеансов пользователей и повышения безопасности системы.
С подробной информацией об остальных параметрах файла можно ознакомиться, выполнив команду:
man logind.conf
По окончании редактирования конфигурационного файла для применения внесенных изменений следует перезагрузить ПК или перезапустить службу systemd-logind командой:
systemctl restart systemd-logind
Дата последнего изменения: 10.10.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.