Allow users to shutdown (Русский)
События нажатия кнопки питания и закрытия крышки ноутбука
События нажатия кнопок ждущего режима, выключения и режима гибернации, а также закрытия крышки ноутбука обрабатываются logind, как описано на странице Power management#ACPI events.
Используя systemd-logind
Если вы используете systemd (по умолчанию в Arch Linux) и установили polkit, пользователи через локальный сеанс могут вызывать команды управления режимами электропитания, пока сеанс не будет нарушен.
Чтобы убедиться, что ваш сеанс активен, наберите:
$ loginctl show-session $XDG_SESSION_ID --property=Active
Пользователь может использоать команды systemctl в командной строке, или добавить их в меню окружения рабочего стола:
$ systemctl poweroff $ systemctl reboot
Другие команды, такие как systemctl suspend
и systemctl hibernate
также могут быть использованы. Смотрите раздел System Commands в справочном руководстве systemctl(1).
Используя sudo
Установите sudo и добавьте текущего пользователя в список sudoers
. После этого, текущий пользователь сможет вызывать команды sudo systemctl
(например, sudo systemctl poweroff
, sudo systemctl reboot
, sudo systemctl suspend
и sudo systemctl hibernate
) через sudo из командной строки. Смотрите раздел System Commands в справочном руководстве systemctl(1).
Ограничение привилегий sudo
Если пользователю следует разрешить только, например, использовать команду выключения, добавьте следующее в конец файла /etc/sudoers
, используя команду visudo
:
имя_пользователя имя_хоста=NOPASSWD: /usr/bin/systemctl poweroff,/usr/bin/systemctl halt,/usr/bin/systemctl reboot
Имя хоста вы можете не указывать (или указать localhost
). Теперь пользователь сможет выключить компьютер используя sudo systemctl poweroff
или sudo systemctl halt
, и перезагрузить его с помощью sudo systemctl reboot
без ввода пароля. Удалите NOPASSWD:
, если вы хотите, чтобы у пользователя запрашивался его пароль перед продолжением.