Перезагрузка без привилегий sudoer?

Я пытался перезапустить Ubuntu без необходимости редактировать sudoers. Это было возможно раньше (я думаю, в lucid) с помощью команды dbus:

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

Но это дает мне ошибку. Похоже, все изменилось.

В KDE (который я не использую) есть нечто подобное (см. Этот ответ)

Может ли кто-нибудь показать мне альтернативный способ перезагрузки моей машины из скрипта (без настройки прав)

2 ответа

Решение

Из панели запуска Вопрос № 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

Если какое-либо приложение блокирует выход из системы / перезагрузку / завершение работы, никакие действия не будут выполнены, и gnome-session отобразит диалоговое окно подтверждения.

Итак, добавьте команду:

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  
    
  • Hibernate:

    pmi action hibernate
    

Apt -get для pmi в 10.10, устанавливает powermanagement-interface, когда pmi action suspend или же pmi action hibernate вызвал, возвращает ServiceUnknown ошибку

Другие вопросы по тегам