Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
kdialog oder Notebookschutz, wenn Akku leer.
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Sun Nov 07, 2010 10:29 pm    Post subject: kdialog oder Notebookschutz, wenn Akku leer. Reply with quote

Hallo,

ich bin dabei, so die letzten kleinen Dinge bei meinem neuen Notebook zu konfigurieren. Jetzt bin ich an den Punkt gekommen, wo ich gern einen Schutz einbauen würde, dass sich das Notebook nicht einfach ausschaltet, wenn der Akku leer ist und kein Netztteil dransteckt. Dazu hab ich mir ein Script gebastelt, was prüft:

  • Kein Netzteil dran, Restkapazität unter 1500 mWh -> Warnmeldung ausgeben
  • Kein Netzteil dran, Restkapazität unter 1000 mWh -> Rechner runterfahren


Das Ding speicher in in /usr/local/sbin ab und will das per Cron-Job alle 2 min aufrufen. Es ist mir wichtig, dass unabhängig vom eingeloggten Nutzer die Meldung erscheint. Dazu will ich die Warnmeldung in einen kdialog reinschreiben, der penetranterweise aufpoppt und den Nutzer nötigt, "ok" zu drücken (Modaldialog). Das Auslesen funktioniert schon mal (/proc/acpi/battery und /proc/acpi/ac_adapter). Was fehlt ist noch der Kdialog.

Fragen:
  1. Ist das Ganze überhaupt sinnvoll? Oder ist das dämlich, das Notebook alle 2 min immer dieselbe Datei lesen zu lassen? Welche besseren Möglichkeiten gäb es?
  2. Bei der Dialogausgabe müsste root den Dialog auf DISPLAY=:0.0 schreiben, egal welcher Benutzer angemeldet ist. Leider scheiter ich an der Syntax für das Ding. Hat jemand sowas schon mal gemacht? Sofern ich ein GUI mit Root-Rechten ausgeben will, muss ich erst "xhost +" eingeben. Kann ich das irgendwie zumindest für root abstellen?
Back to top
View user's profile Send private message
Hollowman
Guru
Guru


Joined: 19 Apr 2007
Posts: 584

PostPosted: Mon Nov 08, 2010 9:40 am    Post subject: Reply with quote

Hi

Hast du KDE als Desktop? Wenn ja dann installiere mal PowerDevil falls du das nicht schon gemacht hast. Der macht unter anderem genau das für dich. Ich benutze das hier aufm Laptop. Das funktioniert prima.

Sebastian
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3254
Location: de

PostPosted: Mon Nov 08, 2010 10:43 am    Post subject: Reply with quote

KDE-Desktop verwende ich nicht. Hab e16 im Einsatz.

Das Teil sollte auch eher user-unabhängig laufen.
Back to top
View user's profile Send private message
Hollowman
Guru
Guru


Joined: 19 Apr 2007
Posts: 584

PostPosted: Mon Nov 08, 2010 1:10 pm    Post subject: Reply with quote

Dein Script hat einen Nachteil.

Legst du deine Platte schlafen wenn Sie eine bestimmte Zeit nicht gebraucht wird? Wenn ja wird das mit deinem Script nicht mehr gehen.

Ansonsten würde ich das auch so machen.

Kdialog:

kdialog --msgbox "Akku leer"

Muss unter dem Nutzer laufen der gerade die KDE auf hat. Den solltest du mit "w", "grep" und "cut" raus bekommen. Ob das bei e16 anders ist weiß ich nicht. Wenn ja kannst du dir das sparen und das kdialog als root starten.

Sebastian
Back to top
View user's profile Send private message
mrsteven
Veteran
Veteran


Joined: 04 Jul 2003
Posts: 1938

PostPosted: Mon Nov 08, 2010 4:51 pm    Post subject: Reply with quote

Über ConsoleKit (falls installiert) und DBUS kannst du herausfinden, welcher Benutzer gerade angemeldet ist, welches Display er verwendet usw. Mittels qdbusviewer kannst du dir die Methoden von ConsoleKit ausgeben lassen. Skripten lässt sich das dann über qdbus oder dbus-send.

Ich weiß allerdings gerade nicht, was diese DBUS-Calls zurückliefern, wenn niemand angemeldet ist.

Eine andere Idee wäre noch, das ganze im Textmodus auf einer virtuellen Konsole zu machen. Mit chvt 11 kannst du z.B. auf die 11. Konsole wechseln, mit chvt 7 geht's normalerweise wieder auf den ersten X-Server zurück. Die Warnung selbst kannst du mit dialog anzeigen.

Mehr Tipps habe ich da aber gerade auch nicht.
_________________
Unix philosophy: "Do one thing and do it well."
systemd: "Do everything and do it wrong."
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum