Выключение Linux с помощью dbus-send - PullRequest
4 голосов
/ 13 сентября 2010

Я пишу Java-приложение для удаленного выключения Linux.

Настольное приложение сидит и ждет, когда ему будет отправлена ​​команда. Я попытался использовать «shutdown -h», но это требует привилегий sudo и не вариант. Затем я нашел способ завершить работу без sudo, используя следующее решение dbus-send:

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 час?

Приветствия

Eef

1 Ответ

7 голосов
/ 20 сентября 2010

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