-
-
Save chrisyco/988104 to your computer and use it in GitHub Desktop.
#!/bin/sh | |
# Suspend, hibernate, restart or shutdown the computer without sudo! | |
# by Chris Wong | |
# Released to the public domain. | |
NAME=$0 | |
usage() { | |
echo "Usage: $NAME suspend|hibernate|restart|shutdown" | |
exit 42 # :D | |
} | |
if [ $# -ne 1 ] ; then | |
usage | |
else | |
THINGY_UPOWER="dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower" | |
THINGY_CONSOLEKIT="dbus-send --system --print-reply --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager" | |
case $1 in | |
suspend) | |
$THINGY_UPOWER org.freedesktop.UPower.Suspend | |
;; | |
hibernate) | |
$THINGY_UPOWER org.freedesktop.UPower.Hibernate | |
;; | |
restart) | |
$THINGY_CONSOLEKIT org.freedesktop.ConsoleKit.Manager.Restart | |
;; | |
shutdown) | |
$THINGY_CONSOLEKIT org.freedesktop.ConsoleKit.Manager.Stop | |
;; | |
*) | |
usage | |
;; | |
esac | |
fi |
@tenleftfingers I'm using 12.04 right now, and I've never had to authenticate. It should act as though you chose the corresponding option in the GUI. Screenshot?
I have the same authorization problem:
Error org.freedesktop.ConsoleKit.Manager.NotPrivileged: Authorization is required
I'm trying to resolve this but with no success.
I know this is a few years old but the script still works great. As an FYI for anyone who is using this script make sure you make the .sh file executable by going to the directory in the terminal and typing sudo chmod +x power.sh. It will not work and will "Require Authentication" if you do not.
On machines with systemd, systemctl {suspend|hibernate|reboot|poweroff}
works as well.
Error org.freedesktop.ConsoleKit.Manager.NotPrivileged: Not Authorized
Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.ConsoleKit was not provided by any .service files
Requires authentication as of Ubuntu 12.04.