Я использую следующий скрипт для включения / отключения тачпада.
Использование: toggle_touchpad.sh [on|off]
, если вы запускаете без аргументов, тогда он просто инвертирует текущее состояние сенсорной панели.
[F1]HAL, похоже, теперь устарел и не установлен в последних версиях Ubuntu.
Для управления состоянием питания вы должны использовать ConsoleKit и UPower службы dbus
Shutdown:
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
Благодаря Arch Linux forums .
Сейчас это работает в Precise и Quantal, но не знаю, для сколько времени фокус Freedesktop, кажется, смещен от ConsoleKit к systemd. Не знаю, заботится ли Канонич ...
Это работает 14.04. Обновленный вариант предыдущего, IMO, исправьте ответ Flimm .
sudo mkdir -p /etc/polkit-1/localauthority/50-local.d sudoedit /etc/polkit-1/localauthority/50-local.d/allow_all_users_to_shutdown_reboot_suspend.pkla
Вставить это внутри:
[Разрешить всем пользователям отключать] Identity = unix-user: * Action = org.freedesktop.login1.power-off-multiple-sessions ResultActive = yes [Разрешить всем пользователям перезагружаться] Identity = unix-user: * Action = org.freedesktop.login1.reboot-multiple -sessions ResultActive = yes [Разрешить всем пользователям приостанавливать] Identity = unix-user: * Action = org.freedesktop.login1.suspend-multiple-sessions ResultActive = yes [Разрешить всем пользователям игнорировать запрет выключения] Identity = unix-user : * Action = org.freedesktop.login1.power-off-ignore-inhibit ResultActive = yes [Разрешить всем пользователям игнорировать запрет перезагрузки] Identity = unix-user: * Action = org.freedesktop.login1.reboot-ignore-inhibit ResultActive = yes [Разрешить всем пользователям игнорировать запрет приостановки] Identity = unix-user : * Действие = org.freedesktop.login1.suspend-ignore-inhibit ResultActive = yes
Добавить остановку и / или перезагрузку в файл sudoers, присвоенный группе / пользователю, который вы хотите разрешить для выполнения этой задачи. Таким образом, вы все равно можете контролировать, кто может завершить работу, но не предоставит им полный корневой доступ к машине ..
http://linux.byexamples.com/archives/315/how-to- выключения, и перезагрузится-без Судо-пароля /