使用dbus-send进行Linux关闭

时间:2010-09-12 21:15:58

标签: linux command-line shutdown dbus

我正在编写一个Java应用程序来远程关闭我的Linux机箱。

桌面应用程序位于等待命令发送给它。我尝试使用“shutdown -h”,但这需要sudo权限,不是一个选项。然后我找到了一种使用以下dbus-send解决方案在没有sudo的情况下关闭的方法:

dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown

这样可以正常工作,但我想弄清楚,使用dbus-send,如果它可以进行类似于“shutdown 3600”的定时关机,这会在1小时内关闭计算机?

干杯

EEF

1 个答案:

答案 0 :(得分:7)

HAL,您正在调用的函数,不提供此功能。但是如果你要启动一个外部命令,你总是可以选择这样的东西:

sh -c "sleep 1h; dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown"