使用 dbus-send 关闭 Linux
Posted
技术标签:
【中文标题】使用 dbus-send 关闭 Linux【英文标题】:Linux Shutdown with dbus-send 【发布时间】:2011-04-11 10:21:32 【问题描述】:我正在编写一个 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 小时内关闭计算机?
干杯
伊夫
【问题讨论】:
【参考方案1】: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"
【讨论】:
以上是关于使用 dbus-send 关闭 Linux的主要内容,如果未能解决你的问题,请参考以下文章
在发出 dbus-send 命令后,如何使用 C 调用方法?
使用 dbus-send 来处理 127.0.0.1 的自定义方法