acpid funktioniert nur durch manuelles ausführen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
IXTOTEK
Beiträge: 6
Registriert: 13.03.2012 21:04:38

acpid funktioniert nur durch manuelles ausführen

Beitrag von IXTOTEK » 13.03.2012 21:18:09

Hallo liebe Debian-Gemeinde,
ich besitze einen Dell Vostro 3550 und möchte die FN-Tasten programmieren. Da ich eine etwas speziellere Installation durchgeführt habe (keine Standart-Desktop-Umgebung), funktionieren diese nicht out-of-the-box. Nun wollte ich diese mithilfe von acpid einstellen. Das System habe ich mehr oder weniger durchblickt und die Helligkeitstasten funktionieren schon, dies aber nur wenn ich acpid manuell ausführe, d.h. in xterm mit dem Benutzer root.

Mit "apt-get install acpid" ist acpid normalerweise als initscript/Dämon eingetragen und es startet auch nach dem Booten (mit "ps -ef | grep acpid" überprüft). Die FN-Tasten funktionieren aber nicht, nur wenn ich acpid wieder "manuell" starte. Ich habe schon acpid in der rc.local eingetragen und auch mit dem Parameter "-d" (debug), acpid initialisiert meine Skripte. Ich kann den Log nochmal reproduzieren, falls auf die schnelle keine ausschlaggebende Lösung eingebracht wird.

Weiß einer wo der Hund begraben liegt?

MfG IXTOTEK
Zuletzt geändert von IXTOTEK am 14.03.2012 15:43:25, insgesamt 1-mal geändert.

DeletedUserReAsG

Re: acpid funktioniert nur manuelles

Beitrag von DeletedUserReAsG » 13.03.2012 22:18:35

Möglicherweise muss X vor dem acpid gestartet sein, damit es funktioniert?

cu,
niemand

IXTOTEK
Beiträge: 6
Registriert: 13.03.2012 21:04:38

Re: acpid funktioniert nur durch manuelles ausführen

Beitrag von IXTOTEK » 14.03.2012 16:03:26

Das habe ich mir auch schon gedacht, aber da komme ich auch nicht weiter. Wenn ich acpid in die /etc/X11/xinit/xinitrc eintrage, komme ich zum gleichen Ergebnis, dazu kommt, dass in der /var/log/Xorg.0.log die Zeile: "Open ACPI failed (/var/run/acpid.socket) (no such file or directory)

Viele Grüße,
IXTOTEK

DeletedUserReAsG

Re: acpid funktioniert nur durch manuelles ausführen

Beitrag von DeletedUserReAsG » 14.03.2012 16:07:31

Meine Herangehensweise wäre, direkt im Initscript sicherzustellen, dass es erst nach X gestartet wird. Mag allerdings unerwünschte Nebeneffekte mit sich bringen, müsste man testen.

cu,
niemand

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: acpid funktioniert nur durch manuelles ausführen

Beitrag von rendegast » 14.03.2012 16:32:02

Warum eigentlich "acpid starten"?
Warum nicht einfach ein Skript einbinden,
im Falle von zBsp. gdm als

Code: Alles auswählen

$ cat /etc/gdm/PreSession/:0
#!/bin/sh

 BINDIR=/usr/bin
  xconsole=${BINDIR}/xconsole
(
    exec setsid $xconsole -notify           -verbose -exitOnFail -file /dev/xconsole
) & echo $! > /var/run/xconsole.pid
(/etc/gdm/PreSession/:0 wird als root ausgeführt)
das einfach ein 'service acpid reload' ausführt?
(Es ginge da natürlich auch ein 'service acpid restart')
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

IXTOTEK
Beiträge: 6
Registriert: 13.03.2012 21:04:38

Re: acpid funktioniert nur durch manuelles ausführen

Beitrag von IXTOTEK » 14.03.2012 17:35:31

Danke für eure Posts.
Das mit den Initskript werde ich demnächst versuchen.
Ich benutze kein Display-Manager, ich versuche mal ein acpid reload in der xinitrc.

Bis Bald!
MfG IXTOTEK

IXTOTEK
Beiträge: 6
Registriert: 13.03.2012 21:04:38

Re: acpid funktioniert nur durch manuelles ausführen

Beitrag von IXTOTEK » 15.03.2012 17:45:31

Wieder zurück.
Ich habe das Problem jetzt lokalisiert. Ich vergaß zu erwähnen, dass ich xbacklight in den event-Skritpen ausführe.
Probeweise habe ich ein Skript hinzugefügt, dass eine temporäre Datei beschreibt es funktionierte. Das heißt, xbacklight wird irgendwie nicht ausgeführt, ich habe schon ein "xbacklight -display :0 -inc" versucht, aber es funktioniert einfach nicht. Wie gesagt, wenn ich dies "manuell" via xterm ausführe, funktioniert es prima.

Hat einer eine Idee?
Beste Grüße
IXTOTEK

IXTOTEK
Beiträge: 6
Registriert: 13.03.2012 21:04:38

Re: acpid funktioniert nur durch manuelles ausführen

Beitrag von IXTOTEK » 16.03.2012 20:04:22

Und wieder zurück. Habe es auf einem alternativen Weg gelöst. Aber das Problem war soweit ich weiß, dass xbacklight keinen Bildschirm gefunden hatte.
acpid hat die Skripte irgendwie nicht in einem "Konsolenkontext" ausgeführt. Nun habe ich mir selbst ein Skript geschrieben, dass die Bildschirmhelligkeit direkt und ohne das Bildschirm-Problem konfigurieren kann:

Code: Alles auswählen

#!/bin/bash
#steps between minimum and maximum brightness (default=10)
typeset -i STEPS=10
#maximal brightness to MAX_BRIGHTNESS
typeset -i MAX_BRIGHTNESS=`cat /sys/class/backlight/intel_backlight/max_brightness`
#actual brightness to ACTUAL_BRIGHTNESS
typeset -i ACTUAL_BRIGHTNESS=`cat /sys/class/backlight/intel_backlight/brightness`
#calculate brightness-points for STEPS
typeset -i BRIGHTNESS_POINTS=MAX_BRIGHTNESS/STEPS

if [ "$1" = "up" ]; then
	#calculate brightness-points for setting
	typeset -i SET_BP=ACTUAL_BRIGHTNESS+BRIGHTNESS_POINTS
	#if the points are too high, set brightness to maximum
	if (( $SET_BP > $MAX_BRIGHTNESS )); then
		echo $MAX_BRIGHTNESS > /sys/class/backlight/intel_backlight/brightness
		exit 0
	else
		echo $SET_BP > /sys/class/backlight/intel_backlight/brightness
		exit 0
	fi
elif [ "$1" = "down" ]; then
	#calculate brightness-points for setting
	typeset -i SET_BP=ACTUAL_BRIGHTNESS-BRIGHTNESS_POINTS
	#if the points are too low, set brightness to minimum
	if (( $SET_BP < 0 )); then
		echo 0 > /sys/class/backlight/intel_backlight/brightness
		exit 0
	else
		echo $SET_BP > /sys/class/backlight/intel_backlight/brightness
		exit 0
	fi
fi
exit 1

Das Skript funktioniert natürlich nur, wenn die entsprechenden Schnittstellen vorhanden sind. (Intel Grafik)
Gruß
XTOTEK

Antworten