Linux 使用 dbus-send 关闭

发布于 2024-09-18 10:29:49 字数 440 浏览 12 评论 0原文

我正在编写一个 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小时后电脑就宕机了?

干杯

埃夫

I am writing a Java app to shutdown my Linux box remotely.

The desktop app sits and waits for a command to be sent to it. I have tried using "shutdown -h" but this requires sudo privileges and is not an option. I then found a way to shutdown without sudo using the following dbus-send solution:

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

This works fine but I am trying to figure out, using dbus-send, if its possible to do a timed shutdown similar to "shutdown 3600" which would shut the computer down in 1 hour?

Cheers

Eef

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

违心° 2024-09-25 10:29:49

您所调用的 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"

HAL, which function you are calling, does not provide this feature. But you can always go with something like this, if you are launching an external command anyway:

sh -c "sleep 1h; dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Shutdown"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文