Горячие клавиши для выключения компьютера в 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 я назначил на них «горячие клавиши» через Меню приложений — Настройки — Диспетчер настроек — Клавиатура — Комбинации клавиш.