Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Linux Shutdown with dbus-send

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

like image 733
RailsSon Avatar asked Sep 12 '10 21:09

RailsSon


1 Answers

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"
like image 171
abbot Avatar answered Sep 19 '22 06:09

abbot