Allow users to shutdown (Русский)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

События нажатия кнопки питания и закрытия крышки ноутбука

События нажатия кнопок ждущего режима, выключения и режима гибернации, а также закрытия крышки ноутбука обрабатываются logind, как описано на странице Power management#ACPI events.

Используя systemd-logind

Если вы используете systemd и установили 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. После этого, текущий пользователь сможет вызывать systemctl через sudo из командной строки или меню окружения рабочего стола:

$ sudo systemctl poweroff
$ sudo systemctl reboot

Другие команды, такие как systemctl suspend и systemctl hibernate также могут быть использованы. Смотрите раздел 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:, если вы хотите, чтобы у пользователя запрашивался его пароль перед продолжением.

Создание псевдонимов

Для удобства, вы можете добавить эти псевдонимы в пользовательский ~/.bashrc или системный /etc/bash.bashrc файл инициализации командной оболочки:

alias reboot="sudo systemctl reboot"
alias poweroff="sudo systemctl poweroff"
alias halt="sudo systemctl halt"

То же самое вы можете сделать, установив systemd-sysvcompat, который создаст символические ссылки на systemctl с соответствующими именами.