Горячие клавиши для выключения компьютера в Linux

Допустим, вам нужно (как мне) назначить для выключения, перезагрузки или ждущего режима горячие клавиши. Или вы хотите включить в свой скрипт какое-то из этих действий. Либо создать свои кнопки «Выключить», и пр., в трее или на рабочем столе.

Без дополнительных настроек и ввода пароля администратора должны работать следующие команды:

Выключение

dbus-send —system —print-reply —dest=»org.freedesktop.ConsoleKit» /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

Перезагрузка

dbus-send —system —print-reply —dest=»org.freedesktop.ConsoleKit» /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart

Ждущий режим

dbus-send —system —print-reply —dest=»org.freedesktop.UPower» /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Спящий режим

dbus-send —system —print-reply —dest=»org.freedesktop.UPower» /org/freedesktop/UPower org.freedesktop.UPower.Hibernate

Но можно использовать и более «естественно звучащие»:)) варианты. Например, команды shutdown и pm-suspend.

(Как мне напоминают, есть ещё halt, reboot, restart, init 0, init 6, pm-hibernate, pm-powersave, pm-suspend-hybrid… Но я же написал «например» 🙂

Только чтобы пользоваться ими, не вводя каждый раз пароль администратора, надо предварительно отредактировать один файлик.
Излагаю на примере Xubuntu, Debian’а, Ubuntu, и прочих дистрибутивов с sudo.

Запустите от администратора какой-нибудь текстовой редактор, например
sudo leafpad или sudo gedit
Откройте файл /etc/sudoers
Но, правильнее (как мне справедливо указали, и в шапке sudoers рекомендуют) использовать sudo visudo

Добавьте в конец файла такие строки
(только вместо ИмяВашегоПользователя не забудьте вписать имя вашего пользователя;-)

ИмяВашегоПользователя ALL=NOPASSWD: /usr/sbin/pm-suspend
ИмяВашегоПользователя ALL=NOPASSWD: /sbin/shutdown

В конце файла (обязательно!) не забудьте сделать пустую строку. И сохраните. Всё, сразу, без перезагрузки, можно будет использовать (не вводя пароль) команды

Для ждущего режима

gksudo pm-suspend

Для перезагрузки

gksudo ‘shutdown -r 0’

Для выключения

gksudo ‘shutdown -h 0’

В Xubuntu я назначил на них «горячие клавиши» через Меню приложений — Настройки — Диспетчер настроек — Клавиатура — Комбинации клавиш.