[Erledigt]Ubuntu 10.04 Backlight ausschalten

JetroNick

New member
Themenstarter
Registriert
11 Jan. 2007
Beiträge
1.544
Hallo zusammen,
da mit der Tastenkombination Fn+F3 der Bildschirm zwar schwarz wird, aber das Backlight nicht ausgeht.
Möchte ich dieses mit der Kombination Fn+F1 realisieren.

Dazu habe ich Datei 'thinkpad-backlight-off' mit root Rechten erstellt:
Code:
sudo vim /etc/acpi/events/thinkpad-backlight-off

und folgendes eingefügt:
Code:
# FN + F1 action
 event=ibm/hotkey HKEY 00000080 00001001  #Tastenadresse Fn+F1
 action=/etc/acpi/screenblank.sh	  #schaltet Backlight aus

Nach einem Neustart funktioniert es leider nicht, wenn ich das Skript screenblank.sh direkt ausführe funktioniert es.
Die Tastenadresse hab ich mit 'acpi_listen' ermittelt.

Unter Ubuntu 9.04 hat das genau so funktioniert.

Gruß
Jetronic
 
Vielleicht sind nicht alle Hotkeys freigeschaltet. Bau mal in die rc.local folgendes ein:
Code:
TPACPI=/sys/devices/platform/thinkpad_acpi
[ -d $TPACPI ] && cp $TPACPI/hotkey_all_mask $TPACPI/hotkey_mask
 
Hier der Auszug von 'cat /etc/acpi/events/thinkpad-backlight-off':
Code:
# FN + F1 action
event=ibm/hotkey HKEY 00000080 00001001  # Tastenadresse Fn+F1
action=/etc/acpi/screenblank.sh	     	# schaltet Backlight aus

Gruß
Jetronic

Edit: Achso, du hast das screenblank.sh gemeint...
 
Acpid braucht ein paar Informationen, um mit dem Display richtig umgehen zu können.

Füge mal folgendes in /etc/acpi/screenblank.sh ein:
Code:
export DISPLAY=:0.0

// Sorry, habe mir grade das Skript angeschaut. Das sorgt schon selbst für den Export der Displayvariable.
 
Habs jetzt mal eingefügt, passiert allerdings noch immer nichts.

/etc/acpi/screenblank.sh:
Code:
#!/bin/sh

# fix acpid
PID=$(pgrep dbus-launch)
USER=$(ps -o user --no-headers $PID)
USERHOME=$(getent passwd $USER | cut -d: -f6)
export XAUTHORITY="$USERHOME/.Xauthority"
export DISPLAY=:0.0

test -f /usr/share/acpi-support/key-constants || exit 0

. /etc/default/acpi-support
. /usr/share/acpi-support/power-funcs

for x in /tmp/.X11-unix/*; do
	displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
	getXuser;
	if [ x"$XAUTHORITY" != x"" ]; then
    	export DISPLAY=":$displaynum"
	. /usr/share/acpi-support/screenblank
	fi
done
 
1) Existiert denn /usr/share/acpi-support/screenblank?
2) Poste auch mal den output von sudo cat /var/log/pm-suspend.log, um herauszufinden, ob die hook überhaupt abgefragt wird.
3) Außerdem kannst du mit ls -l /etc/acpi/screenblank.sh und ls -l /usr/share/acpi-support/screenblank mal überprüfen, ob die Skripte ausführbar sind.
4) Was passiert, wenn du sudo sh /etc/acpi/screenblank.sh ausführst?
 
cat /usr/share/acpi-support/screenblank:
Code:
if [ `pidof xscreensaver` ]; then
	su $user -c "(xscreensaver-command -throttle)"
		if [ x$LOCK_SCREEN = xtrue ]; then	
		su $user -c "(xscreensaver-command -lock)"
	fi
elif [ `pidof dcopserver` ]; then
	dcop kdesktop KScreensaverIface lock
fi

xset dpms force off
if [ x$RADEON_LIGHT = xtrue ]; then
	[ -x /usr/sbin/radeontool ] && radeontool light off
fi

sudo cat /var/log/pm-suspend.log:
Code:
cat: /var/log/pm-suspend.log: No such file or directory

ls -l /etc/acpi/screenblank.sh:
Code:
-rwxr-xr-x 1 root root 542 2010-05-14 14:52 /etc/acpi/screenblank.sh

ls -l /usr/share/acpi-support/screenblank:
Code:
-rw-r--r-- 1 root root 360 2010-04-23 14:51 /usr/share/acpi-support/screenblank

sudo sh /etc/acpi/screenblank.sh: Dann schaltet sich das Backlight aus!

Gruß
Jetronic
 
Du hast in der acpid-Konfiguration irgendwo einen Fehler gemacht. Das Skript /etc/acpi/screenblank.sh wird nicht abgefragt.

Ich nehme an, dass in der events-Datei die Leerzeile fehlt.
Ersetze mal den Inhalt von /etc/acpi/events/thinkpad-backlight-off mit:
event=ibm/hotkey HKEY 00000080 00001001
action=/etc/acpi/screenblank.sh
<mind. 1 Leerzeile>

Alternativ kannst du mal meine Konfiguration ausprobieren:
/etc/acpi/events/anything
/etc/acpi/handler.sh
Ich habs lieber alles in einer Datei.
Wenn du nicht den ganzen Inhalt der handler.sh-Datei übernehmen willst, brauchst du diesen Teil:
Code:
#!/bin/sh
# /etc/acpi/handler.sh

# fix acpid
PID=$(pgrep dbus-launch)
USER=$(ps -o user --no-headers $PID)
USERHOME=$(getent passwd $USER | cut -d: -f6)
export XAUTHORITY="$USERHOME/.Xauthority"
for x in /tmp/.X11-unix/*; do
	displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
	if [ x"$XAUTHORITY" != x"" ]; then
    	export DISPLAY=":$displaynum"
	fi
done
set $*
case "$1" in
    ibm/hotkey)
        case "$4" in
	    *1001) # FN+F1
	           logger "acpid: Fn+F1 pressed, turning off display"
	           xset dpms force off;;
	    *)	   logger "IBM HOTKEY: $4";;
	esac;;
    *)   logger "acpid: group/action undefined: $1 / $2";;
esac


Was auch sein kann, ist dass der Gnome-Powermanager das ACPI-Event für Fn+F3 abfängt. In diesem Fall müsstest du den Powermanager deinstallieren.
 
Hallo mikar,
habe jetzt dein Skript verwendet, funktioniert 1a :thumbsup:

Für alle "Anfänger" die das auch benutzen wollen:
1.Runterladen (die beiden Dateien sollten jetzt im Ordner Downloads sein)
2.Kopieren der Dateien:
Code:
sudo cp ~/Downloads/handler.sh /etc/acpi/handler.sh
sudo cp ~/Downloads/anything /etc/acpi/events/anything
3. Shell-Skript ausführbar machen:
Code:
sudo chmod 755 /etc/acpi/handler.sh
4. Neustart

Jetzt sollte es funktionieren :-)

Gruß
Jetronic

Edit:
Habe auch mal nur Backlight AUS mit Fn+F1 getestet, geht aus! Besten Dank!!!!
 
Ein richtiger Linux-Geek hütet seine uptime wie eine Bärenmutter ihr Junges.
Beim nächsten mal reicht daher anstatt des Neustarts auch
Code:
sudo /etc/init.d/acpid restart
:P

Grüße,
mikar
 
[quote='mikar',index.php?page=Thread&postID=851783#post851783]Ein richtiger Linux-Geek hütet seine uptime wie eine Bärenmutter ihr Junges.[/quote]

:thumbsup:
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben