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

From ArchWiki
Jump to: navigation, search

Tango-preferences-desktop-locale.pngЭта страница нуждается в сопроводителеTango-preferences-desktop-locale.png

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

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

События нажатия кнопок ждущего режима, выключения и режима гибернации, а также закрытия крышки ноутбука обрабатываются 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 в справочном руководстве man systemctl.

Используя sudo

Установите sudo и добавьте текущего пользователя в список sudoers. После этого, текущий пользователь сможет вызывать systemctl через sudo из командной строки или меню окружения рабочего стола:

$ sudo systemctl poweroff
$ sudo systemctl reboot

Другие команды, такие как systemctl suspend и systemctl hibernate также могут быть использованы. Смотрите раздел System Commands в справочном руководстве man systemctl.

Ограничение привилегий 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 с соответствующими именами.