用dbus-send关闭Linux

问题描述:

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

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

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

这工作得很好,但我想弄清楚,使用DBUS-发送,如果可以做到类似定时关机“关机3600”会在1小时内关闭计算机?

干杯

EEF

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"