views:

95

answers:

1

Hey,

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

+2  A: 

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"
abbot