我正在编写一个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,如果它可能做一个类似于“关机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"
标签:linux,command-line,shutdown,dbus
来源: https://codeday.me/bug/20190526/1158091.html