Achtung
Dieser Beitrag ist schon sehr alt, und die Infos hier sind sicherlich hoffnungslos veraltet…
DeviceKit.Power
ist tot! Lang lebe UPower
Ubuntu
ubuntuusers
In der aktuellen Ubuntu-Version (10.04 Lucid Lynx) wurde Device.Kit
durch UPower
ersetzt. Daher muss der logfish.net-Workaround, welcher als Alternatve zum berenteten gnome-power-cmd
den PC ohne root-Rechte in den Ruhestand schicken konnte, entsprechend angepasst werden (Die “alte” Version für Karmic findest du hier).
Man erstellt eine ausführbare Datei namens “own-power-cmd” und legt sie z.B. in den Skriptordner.
cd ~/bin
touch own-power-cmd
chmod +x own-power-cmd
Die Datei erhält nun folgenden Inhalt:
#!/bin/bash
# gnome-power-cmd replacement
# Copyright (C) 2009 A. Bram Neijt <bram @neijt.nl>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http ://www.gnu.org/licenses.
case $1 in
suspend)
echo Suspending
dbus-send --print-reply \
--system \
--dest=org.freedesktop.UPower \
/org/freedesktop/UPower \
org.freedesktop.UPower.Suspend
;;
hibernate)
echo Hibernating
dbus-send --print-reply \
--system \
--dest=org.freedesktop.UPower \
/org/freedesktop/UPower \
org.freedesktop.UPower.Hibernate
;;
*)
echo Not supported command: '"'$1'"'
echo Usage: $0 '<suspend |hibernate>'
exit 1
;;
esac
Ab jetzt kann man ins Terminal eingeben:
own-power-cmd suspend
oder
own-power-cmd hibernate
…und der Rechner geht schlafen…
Python
Das Ganze funktioniert natürlich auch mittels Python-Script:
touch Suspenden.py
chmod +x Suspenden.py
nano Suspenden.py
#!/usr/bin/env python
import dbus
#----------- Funktion zum suspenden -------------------
def GeheSchlafen():
bus = dbus.SystemBus()
proxy_object = bus.get_object('org.freedesktop.UPower','/org/freedesktop/UPower')
pm = dbus.Interface(proxy_object,'org.freedesktop.UPower')
pm.Suspend()
#-----------------------------------------------------------
print "Fahre nun in Suspend"
GeheSchlafen()
Das Script kann nun per
./Suspenden.py
aufgerufen werden.
Links:
- Scriptversion für DeviceKit (Karmic Koala)