5

我正在编写一个 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 小时内关闭计算机?

干杯

伊夫

4

1 回答 1

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"
于 2010-09-20T06:07:12.030 回答