Dienstag, 11. März 2008

HP Compaq 6720s, der tragödie zweiter teil

das notebook ist aufgesetzt mit einem mint daryna 4.0.
die probleme, die es noch zu lösen galt:
die displaybeleuchtung schaltet sich beim schließen des notebookdeckels wieder ein, bei näherer beobachtung bemerkte ich, dass das genau dann passiert, wenn man die maus bewegt, wenn der deckel geschlossen ist.
auch gabs probleme mit der beleuchtung, wenn man das gerät vom stecker nahm. nach einer bestimmten zeit dreht sich die displaybeleuchtung immer wieder fast aufs minimum herunter, selbst wenn man sie manuell vorher hochgestellt hat.
zu ersterem:
nach ein paar versuchen mit dem acpid daemon wird ersichtlich, dass beim schließen des notebookdeckels mittels xset dpms force off die displaybeleuchtung abgeschalten wird.
führt man den befehl manuell aus, so schaltet sich die beleuchtung auch aus. zumindest bis man die maus bewegt. also suchte ich nach einer möglichkeit, die beleuchtung abzuschalten, ohne sie mit der maus zu reaktivieren. fündig wurde ich mit dem befehl vbetool dpms off
blieb nur noch, diesen ins acpi-script einzubauen.
vorweg möchte ich sagen, dass das, was ich gemacht habe, vermutlich nur ein dirty hack ist und es mit sicherheit elegantere möglichkeiten gibt, das zu erreichen.

zuerst betrachtet man /etc/acpi/lid.sh. diese wird ausgeführt, wenn man den deckel schließt (nachzusehen in /etc/acpi/event/lidbtn). von der lid.sh wird ein backup gemacht. anschließend wird die datei neu erstellt und mit folgendem gefüllt:

#!/bin/sh
export XAUTHORITY=`ls -1 /home/*/.Xauthority`
export DISPLAY=:0
grep -q closed /proc/acpi/button/lid/*/state

if [ $? = 0 ]
then
sudo vbetool dpms off
else
sudo vbetool dpms on
fi


die datei nun mit chmod 755 /etc/acpi/lid.sh ausführbar machen.
als nächstes steht man vor dem problem, dass vbetool nur als root ausgeführt werden kann. also muss man dem befehl sudo rechte ohne passwort geben. dies geschieht folgendermaßen: visudo als root ausführen und am ende der datei %users localhost = NOPASSWD: /usr/sbin/vbetool einfügen. (es sei angemerkt, dass das vermutlich etwas unelegant ist)
nun kann man als normaler benutzer sudo vbetool dpms off ausführen, ohne nach dem passwort gefragt zu werden.

als nächstes muss man den gnome-power-manager konfigurieren, denn der überlagert irgendwie acpid mit seinen eigenen befehlen. zum test kann man den gnome-power-manager beenden (killall gnome-power-manager) und dann dürfts schon funktionieren.

man öffnet als normaler benutzer(!!!) gconf-editor und unter apps->gnome-power-manager findet man die einstellungen für das vermaledeite ding. im unterpunkt buttons findet man die schlüssel lid_ac und lid_battery. sie müssten beide auf blank gestellt sein. das schreibt man nun in nothing um. im klartext heißt das, dass gnome-power-manager absolut gar nichts tut, wenn man den deckel schließt und dass soll ja auch so sein, immerhin wird das von acpid übernommen.
damit wäre das gelöst und spätestens bei einem neustart müsste die bildschirmbeleuchtung beim schließen der lid abschalten und auch so bleiben, bis man den deckel wieder hochklappt.

das nächste problem ist relativ einfach ebenfalls mit dem gconf-editor lösbar. im selben abschnitt wie vorher, nur im unterpunkt backlight. der schlüssel dazu heißt: idle_dim_battery. man stellt ihn einfach auf false und schon bleibt die displayhelligkeit erhalten, nachdem man den stecker gezogen hat. das wars auch schon wieder. für die erkenntnis dieser kurzen anleitung habe ich einen ganzen abend benötigt ;)