在没有 sudoer 权限的情况下重新启动?

Lin*_*oln 12 command-line reboot 10.10 dbus

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

dbus-send –system –print-reply –dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart
Run Code Online (Sandbox Code Playgroud)

但这给了我一个错误。看起来事情已经发生了变化。

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

谁能告诉我另一种让我的机器从脚本重启的方法(不调整权限)

Isa*_*iah 13

来自Launchpad 问题 #85949

登出

dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1
Run Code Online (Sandbox Code Playgroud)

重启

dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.RequestReboot
Run Code Online (Sandbox Code Playgroud)

关掉

dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.RequestShutdown
Run Code Online (Sandbox Code Playgroud)

如果某些应用程序正在禁止注销/重新启动/关闭,则不会执行任何操作并且 gnome-session 将显示一个确认对话框。

所以添加命令:

dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1
Run Code Online (Sandbox Code Playgroud)

到你的脚本。

更新:用于挂起和休眠的 DBus 接口已被删除,要从命令行挂起和休眠,请使用 pmi。

sudo apt-get install powermanagement-interface
Run Code Online (Sandbox Code Playgroud)