Я пытался перезапустить Ubuntu без необходимости редактировать sudoers. Это было возможно раньше (я думаю, в lucid) с помощью команды dbus:
dbus-send –system –print-reply –dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
Но это дает мне ошибку. Похоже, все изменилось.
В KDE (который я не использую) есть нечто похожее (см. , этот ответ )
. Может ли кто-нибудь показать мне альтернативный способ перезагрузки компьютера из сценария без корректировки прав)
От вопроса о панели запуска № 85949:
Выход из системы
dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1
Перезагрузка
dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.RequestReboot
Завершение работы
dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.RequestShutdown
Если некоторое приложение запретит выход из системы/перезагрузку/завершение работы, то никакое действие не будет выполнено, и сессия гнома покажет диалоговое окно подтверждения.
Поэтому добавьте команду:
dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1
к Вашему сценарию.
ОБНОВЛЕНИЕ: интерфейс DBus для приостанавливает и в спящем режиме, был удален, чтобы приостановить и быть в спящем режиме из командной строки, используйте PMI.
sudo apt-get install powermanagement-interface
Приостановите:
pmi action suspend
Будьте в спящем режиме:
pmi action hibernate
apt-get для pmi в 10.10, устанавливает powermanagement-interface, при вызове pmi action suspend
или pmi action hibernate
возвращает ServiceUnknown error