使用dbus-send在Linux上关机

5

我正在编写一个Java应用程序,用于远程关闭我的Linux计算机。

桌面应用程序会等待发送命令。我尝试使用“shutdown -h”命令,但这需要sudo权限,因此不是一个选项。然后,我发现了一种无需sudo即可关机的dbus-send解决方案:

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个回答

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"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接