GNOME Energieverwaltung

Aus Gentoo Linux Wiki

(Weitergeleitet von Gnome-power-manager)
Wechseln zu: Navigation, Suche

bild:Gnome-logo-large.png

Index

Installation

Tipps

bearbeiten

Seit gnome 2.16 ist der gnome power manager (Energieverwaltung) festes Bestandteil der gnome Desktopumgebung. Er besteht einerseits aus dem daemon, der im Hintergrund läuft und der Benutzerschnittstelle, über welche Einstellungen verändert werden können. Weiterhin liefert es Informationen über den Energiestatus des Systems.
Der gnome-power-manager kann dabei folgende Dinge steuern:
- CPU-Frequenzskalierung
- Dimmen des Bildschirm bei Untätigkeit
- Steuerung der Festplatte je nach Betriebsmodi
- Suspend Modi
- Shutdown
Intern gesehen benutzt der gnome power manager den hal (hardware abstraction layer), um Informationen über das System zu erhalten. Die GUI des gpm bietet nur die Einstellmöglichkeiten an, welche es über den hal in Erfahrung bringen konnte. Beispielsweise wird bei meinem HP nx6125 keine Regler für die Hintergrundbeleuchtung angeboten, da bei diesem Modell die Dimmerregelung hardwareseitig (FN+F9 bzw. FN+F10) geschieht.

Inhaltsverzeichnis

[Bearbeiten] ACPI

Um auf Ereignisse wie bspw. das Drücken des Ein-/Ausschalters oder das Zuklappen des Laptop reagieren zu können, benötigt die gnome Energieverwaltung die Hilfe des ACPI Daemons (acpid). Dieser sollte, wenn noch nicht geschehen, installiert werden:

Code: emerge acpid
#  emerge -av acpid

Weiterhin sollte in /etc/acpi die Dateien für die Ereignissteuerung angepaßt bzw. komplett auskommentiert werden, damit keine Überlagerungseffekte mit der Ereignisverwaltung des gpm auftreten.

Datei: /etc/acpi/default.sh
#!/bin/sh
# /etc/acpi/default.sh
# Default acpi script that takes an entry for all actions

set $*

group=${1/\/*/}
action=${1/*\//}
device=$2
id=$3
value=$4

log_unhandled() {
        logger "ACPI event unhandled: $*"
}

case "$group" in

esac
default.sh lines 1-19/19 (END) 

Es sollte weiterhin überprüft werden, ob Skripte in /etc/acpi/events noch aktiv sind. Hier am besten den Inhalt auskommentieren. Es ist prinzipiell möglich die Steuerung der Ereignisse zwischen den Skripten in /etc/acpi und dem power manager aufzuteilen. Kann aber vermutlich sehr schnell unübersichtlich werden. Darum am besten alles einer Schnittstelle, in unserem Fall dem gpm, überlassen. Als letztes sollte, wenn noch nicht geschehen, das USE-Flag acpi in /etc/make.conf gesetzt und mindestens hal damit neu übersetzt werden.

[Bearbeiten] CPU Frequenzskalierung

bitte ergänzen

[Bearbeiten] Bildschirm dimmen

bitte ergänzen

[Bearbeiten] Suspend Modi

Bei den Suspend Modi versucht der gnome power manger anhand der Informationen des hal bereits zu entscheiden was möglich ist. Meistens wird die falsche Wahl getroffen und es werden Routinen des Kernel zum Suspend aufgerufen, die meistens nicht richtig funktionieren. Man sollte jedoch erstmal einfach probieren ob es funktioniert. Dazu die GUI des gpm starten, in den Reiter "Allgemein" wechseln und "Symbol immer anzeigen" wählen. Jetzt rechte Maustaste auf das Netzsteckersymbol im Panel und Ruhemodus (suspend-to-ram) oder Tiefschlaf (suspend-to-disk) wählen. Falls nichts passiert, dann liegt es meistens an einer falschen policy-Einstellung der hal-Konfiduration. Dazu die Datei

Code: Hal Konfiguration
#  /etc/dbus-1/system.d/hal.conf

editieren. Dort sollte an dieser Stelle

Datei: hal.conf
<!-- You can change this to a more suitable user, or make per-group -->
  <policy user="0">
    <allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/>
    <allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume"/>
    <allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/>
  </policy>

die "0" durch den Benutzer ersetzt werden. Datei speichern und den hal-daemon neustarten (normalerweise sollte dies reichen, bei mir hat aber der power-manager oder der hal-daemon das nicht richtig mitgeschnitten, so daß erst nach einem Neustart des Systems die Änderungen wirksam waren).
Jetzt sollte nach dem Wählen des Suspend-Modi im power-manager, irgendeine Regung gezeigt werden.
Meistens geht es schief, weil, wie schon oben beschrieben, der hal die schlechteste Variante wählt. Am besten ist es, wie im [Power Managment Wiki] beschrieben, mit den hibernate-scripten zu experimentieren. Die Erfolgsaussichten hierbei sind erfahrungsgemäß am höchsten.
Hat man funktionsfähige hibernate-skripte erstellt, so kann man diese in Verbindung mit den gpm nutzen.
Um eine Verbindung herzustellen, sind die Skripte

Code: Hal Konfiguration
#  /usr/lib/hal/scripts/hal-system-power-suspend
#  /usr/lib/hal/scripts/hal-system-power-hibernate

wichtig. Dort sind auch schon die Aufrufe für die hibernate-skripte eingetragen, jedoch erst in einem unteren else-Zweig, so daß meistens ein anderes Verfahren genutzt wird. Darum bitte die Skripte wie folgt anpassen:

Datei: /usr/lib/hal/scripts/hal-system-power-suspend
#!/bin/sh

unsupported() {
    echo org.freedesktop.Hal.Device.SystemPowerManagement.NotSupported >&2
    echo No suspend method found >&2
    exit 1
}

if [ -x "/usr/sbin/hibernate-ram" ] ; then
    sudo /usr/sbin/hibernate-ram
    RET=$?
else
    unsupported
fi

if [ $RET -ne 0 ]; then
    echo "org.freedesktop.Hal.Device.SystemPowerManagement.NotSupported" >&2
    exit 1
fi

exit $RET

und

Datei: /usr/lib/hal/scripts/hal-system-power-hibernate
#!/bin/sh

unsupported() {
    echo org.freedesktop.Hal.Device.SystemPowerManagement.NotSupported >&2
    echo No suspend method found >&2
    exit 1
}

if [ -x "/usr/sbin/hibernate" ] ; then
    sudo /usr/sbin/hibernate
    RET=$?
else
    unsupported
fi

if [ $RET -ne 0 ]; then
    echo "org.freedesktop.Hal.Device.SystemPowerManagement.NotSupported" >&2
    exit 1
fi

exit $RET

Wichtig hierbei ist, das die Befehle mit sudo-Rechten aufgerufen werden, da hibernate Skripte eigentlich nur mit root-Rechten ausführbar sind. Das setzt natürlich voraus, das sudo installiert ist, also

Code: Hal Konfiguration
# emerge -av app-admin/sudo 

Jetzt sollte man noch den (oder die) Benutzer in /etc/sudoers eintragen. Man kann auch gleich die ganze Gruppe users dafür freischalten. Das bitte wie folgt erledigen:

Datei: /etc/sudoers
...
# Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL
%users ALL=NOPASSWD: /usr/sbin/hibernate-ram ""
%users ALL=NOPASSWD: /usr/sbin/hibernate ""
# Users in group www are allowed to  edit httpd.conf and ftpd.conf
# using sudoedit, or sudo -e, without a password.
...

Nach Neustart des hal sollten die Suspend Modi über den gnome-power-manager steuerbar sein.

Dieser Artikel ist ein Kurz-Artikel - Du kannst uns helfen, diesen zu erweitern. Klicke dazu auf bearbeiten.


'Persönliche Werkzeuge