我一直在使用 Dbus(版本 1.4.0,在 Ubuntu 10.10 和 1.4.14 中)和 ConsoleKit(版本 0.4.1 和 0.4.5)来重新启动或停止我的计算机,而无需成为超级用户。两个版本中一切都运行良好。
如果我执行详细的命令这一页,系统会毫无问题地停止或重新启动。现在,我想知道的是我是否可以安排在某个时间停止/重新启动(仍然使用 Dbus/ConsoleKit)。像这样的shutdown
命令可以做(shutdown -h 10:56
)这可能吗?
我总是可以使用at
or cron
,但如果我可以直接使用dbus
,那就完美了。
答案1
调用halt
,shutdown
或reboot
来自cron
是更干净的解决方案,因为d-bus
只是消息传递系统,并且 cron 已经作为根调用。但如果您需要通过 d-bus 向其他应用程序告知关闭情况,请尝试调用以下命令:
dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop