没有sudoer权限重新启动?

我一直试图让我的ubuntu重启而不必编辑sudoers。 使用dbus命令之前(在我认为清晰)中这是可能的:

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

但这给了我一个错误。 事情发生了变化。

在KDE(我不使用)中,有一个类似的东西(见这个答案 )

任何人都可以告诉我一种让我的机器从脚本重启的替代方法(不调整权限)

来自Launchpad问题#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 

到你的脚本。

更新:暂停和hibernate的DBus接口已被删除 ,要从命令行暂停和hibernate,请使用pmi。

 sudo apt-get install powermanagement-interface 
  • 暂停:

     pmi action suspend 
  • hibernate:

     pmi action hibernate 

p.10在10.10中的apt-get,安装powermanagement-interface,当pmi action suspendpmi action hibernate调用时,返回ServiceUnknown错误