View previous topic :: View next topic |
Author |
Message |
luna80 Veteran
Joined: 01 Feb 2004 Posts: 1547 Location: switzerland
|
Posted: Wed Feb 16, 2005 9:22 pm Post subject: [tip] battery warning |
|
|
mi sono fatta un programmino in python che mostra un messaggio quando la batteria del mio portatile raggiunge una carica inferiore del 6%.
il mio programma usa acpi ma può essere adattato anche per chi usa apm.
magari può interessare anche a qualcun'altro quindi posto qui il codice ed i passaggi per farlo funzionare.
1. da root creare il file /usr/local/bin/battery_warning con quanto segue
Code: |
#!/usr/bin/env python
import pygtk
pygtk.require("2.0")
import gtk
import os
class BattWarning:
def warning(self, widget, data=None):
print "Battery warning!"
def delete_event(self, widget, event, data=None):
return gtk.FALSE
def destroy(self, widget, data=None):
gtk.main_quit()
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.vbox = gtk.VBox(spacing=10)
self.vbox.show()
self.window.add(self.vbox)
self.hbox = gtk.HBox()
self.hbox.show()
self.window.connect("delete_event", self.delete_event)
self.window.connect("destroy", self.destroy)
self.window.set_border_width(10)
self.label = gtk.Label(" The battery is quite totally discharged!")
self.image = gtk.Image()
self.image.set_from_file("/usr/share/pixmaps/warning.png") # <--------------------------- personalizzare qui
self.button = gtk.Button("OK")
self.button.connect("clicked", lambda wid: gtk.main_quit())
self.image.show()
self.hbox.pack_start(self.image)
self.label.show()
self.hbox.pack_start(self.label)
self.button.show()
self.separator = gtk.HSeparator()
self.separator.show()
self.vbox.pack_start(self.hbox)
self.vbox.pack_start(self.separator)
self.vbox.pack_start(self.button)
self.window.show()
def main():
gtk.mainloop()
if __name__ == "__main__":
os.system('acpi | cut -d : -f 2 | cut -d % -f 1 | awk \'{print $1,$2}\' > ~/.batt_state') # <--------------------------- personalizzare qui
input=open('/home/luna80/.batt_state','r') # <------------------------------------------------------------------------- personalizzare qui
s=input.read()
arr=s.split(',')
if(arr[0]!='charging' and int(arr[1])<6):
warning = BattWarning()
gtk.main()
|
l'intero file lo potete scaricare da qui
(vedere nel codice #<----------)
!!!!! modificate il path del file con l'output di acpi a seconda di dove lo volete mettere , io l'ho messo nella mia home
!!!!! ho messo un'immagine nel messaggio, se volete la stessa potete prenderla da qui, altrimenti modificate il path ed il nome dell'immagine come volete
2. cambiare i permessi di /usr/local/bin/battery_warning
Code: | # chmod 755 /usr/local/bin/battery_warning |
3. testate il programma manualmente
se la batteria è quasi scarica (ricordo meno del 6%) vedrete un messaggio come questo, altrimenti, SOLO per test potete commentare la riga "os.system('acpi | cut -d : -f 2 | cut -d % -f 1 | awk \'{print $1,$2}\' > ~/.batt_state') " ed editare manualmente il file .batt_state scrivendoci per esempio 'discharging, 5', poi eseguite il programma e vedrete il messaggio
4. modificate il crontab dell'utente con i comandi
(se l'utente fa parte del gruppo crontab, date il comando da utente)
o
(se l'untente non fa parte del gruppo crontab, date il comando da root, specificando <user>=nome utente)
Code: | #crontab -u <user> -e |
e aggiungete quanto segue
Code: |
DISPLAY=:0
*/5 * * * * /usr/local/bin/batt_warning
.......
|
prestanto particolare attenzione alla prima riga: "DISPLAY=:0", altrimenti non verrà visualizzato nessun messaggio
con la riga "*/5 * * * * /usr/local/bin/batt_warning", io dico a crontab di eseguire il mio programma ogni 5 minuti, chiaramente se la batteria ha una carica maggiore del 5% non ci si deve aspettare nessun messaggio
ecco, così dovrebbe essere tutto sistemato.
se ci dovessero essere dei problemi (nel senso che il mio programma non sembri funzionare), date un
Code: | # tail -f /var/log/message |
oppure controllate nella vostra home se c'è un file dead.letter (dove crontab scrive gli eventuali errori), e se c'è controllate gli errori contenuti
oppure ancora ( se avete specificato MAILTO nel crontab), guardate in /var/mail/<vostro_utente>
non sono brava a spiegarmi, spero che quello che ho scritto sia chiaro, in caso contrario fatevi vivi, come pure se avete consigli o miglioramenti da proporre
ciao |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Wed Feb 16, 2005 9:36 pm Post subject: |
|
|
Aggiunto ai "Post utilissimi" sezione tips. _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Wed Feb 16, 2005 9:41 pm Post subject: |
|
|
Ottimo!!!!!
Devo proprio mettermici con python! Si fa sempre più interessante.
Complimenti per il TIP
Ciriciao
mouser |
|
Back to top |
|
|
federico Advocate
Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Thu Feb 17, 2005 2:01 am Post subject: |
|
|
Ma non so se sono io sfigato che non riesco mai a venire aggiunto, ma moltissimi mesi fa ho postato un programma che avvisava a seconda dei livelli della batteria e volendo dava anche una finestra in grafica quando finiva la corrente che ti permetteva di scegliere se spegnere automaticamente (tipo quando te lo dimentichi acceso) oppure di continuare a sfruttare la carica, sempre in python...
I MIEI VI STANNO ANTIPATICI DI PROGRAMMI ?!?
http://www.sideralis.net/index.php?action=4&pjid=14 _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
|
FonderiaDigitale Veteran
Joined: 06 Nov 2003 Posts: 1710 Location: Rome, Italy
|
Posted: Thu Feb 17, 2005 5:28 am Post subject: |
|
|
federico wrote: | I MIEI VI STANNO ANTIPATICI DI PROGRAMMI ?!? |
si, ci stai antipatico!
seriamente, per evitare che vada perso nel mare dei post, perche' non lo posti nel wiki? sarebbe sicuramente piu tracciabile, a posteriori. _________________ Come disse un amico, i sistemisti sono un po' come gli artigiani per l'informatica
|
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Thu Feb 17, 2005 9:01 am Post subject: |
|
|
federico wrote: |
I MIEI VI STANNO ANTIPATICI DI PROGRAMMI ?!?
|
No non ci stai antipatico . Mandami un PM con l'url del programma che lo aggiungo alla sezione post utilissimi.
Come dice fonderia puoi anche metterlo nel wiki. _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 30996 Location: here
|
Posted: Thu Feb 17, 2005 9:27 am Post subject: |
|
|
federico wrote: | I MIEI VI STANNO ANTIPATICI DI PROGRAMMI ?!? |
Concordo con fonderia . Se vai in fondo al post dei post utilissimi trovi la frase
Quote: | Ovviamente, sono ben accette segnalazioni da fare qui... |
e allora usiamolo no:D _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Thu Feb 17, 2005 10:41 am Post subject: |
|
|
fedeliallalinea wrote: | Se vai in fondo al post dei post utilissimi trovi la frase |
IMHO il wiki sarebbe la cosa migliore... _________________ Ciao da me! |
|
Back to top |
|
|
luna80 Veteran
Joined: 01 Feb 2004 Posts: 1547 Location: switzerland
|
Posted: Thu Feb 17, 2005 10:48 am Post subject: |
|
|
federico wrote: |
I MIEI VI STANNO ANTIPATICI DI PROGRAMMI ?!?
|
mi spiace, ma non prendertela con me o con il mio posto
magari il mio è stato notato di più solo perchè son femmina
dai non prendertela |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Thu Feb 17, 2005 10:54 am Post subject: |
|
|
luna80 wrote: |
magari il mio è stato notato di più solo perchè son femmina
|
Non credo, l'ho aggiunto solo perche lo reputavo utile per gli altri, al di la del fatto che tu sia uomo o donna. _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
luna80 Veteran
Joined: 01 Feb 2004 Posts: 1547 Location: switzerland
|
Posted: Thu Feb 17, 2005 11:22 am Post subject: |
|
|
gutter wrote: |
Non credo, l'ho aggiunto solo perche lo reputavo utile per gli altri, al di la del fatto che tu sia uomo o donna. |
..ma la mia era solo una battuta...un pò tanto stupida...effettivamente |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Thu Feb 17, 2005 12:10 pm Post subject: |
|
|
luna80 wrote: |
..ma la mia era solo una battuta...un pò tanto stupida...effettivamente |
Ma che fai scherzi Figurati se me la sono presa. Ho fatto solo una precisazione
Non sono mica così cattivo _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
federico Advocate
Joined: 18 Feb 2003 Posts: 3272 Location: Italy, Milano
|
Posted: Fri Feb 18, 2005 10:51 am Post subject: |
|
|
Probabilmente e' ora di ricordarsi che esiste il wiki ed e' ora di imparare ad utilizzarlo...
Forza che oggi ho un grazioso esame in uni alle 14, poi nel wkend mi dedico alla mia ragazza e da lunedi' si riprende a vivere e a postare a e programmare _________________ Sideralis www.sideralis.org
Pic http://blackman.amicofigo.com/gallery
Arduino http://www.arduino.cc
Chi aveva potuto aveva spaccato
2000 pezzi buttati là
Molti saluti,qualche domanda
Semplice come musica punk |
|
Back to top |
|
|
mouser Veteran
Joined: 10 Aug 2004 Posts: 1419 Location: Milano
|
Posted: Fri Feb 18, 2005 10:57 am Post subject: |
|
|
federico wrote: | Probabilmente e' ora di ricordarsi che esiste il wiki ed e' ora di imparare ad utilizzarlo...
[cut]
|
[ot]
Il wiki e' bellissimo e vorrei contribuire ad incrementarlo...
Solo che finora mi sono iscritto, ho cercato, ho chiesto a circa 7 persone, ma nessuno di noi ha capito come uploadare un howto
Credo che tutti e 7 abbiamo l'articolo parcheggiato nelle discussioni personali, in attesa di vedere la luce
Chiedo comunque scusa per l'ot
[/ot]
Ciriciao
mouser |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Fri Feb 18, 2005 11:00 am Post subject: |
|
|
mouser wrote: |
Solo che finora mi sono iscritto, ho cercato, ho chiesto a circa 7 persone, ma nessuno di noi ha capito come uploadare un howto
|
Contattami stasera in jabber/ICQ che grazie a fedeliallalinea ho capito come fare _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
luna80 Veteran
Joined: 01 Feb 2004 Posts: 1547 Location: switzerland
|
Posted: Fri Feb 18, 2005 12:00 pm Post subject: |
|
|
effettivamente non è molto semplice capire come funziona il wiki, io per capire come postare il mio primo tip ho dovuto fare salti mortali...poi ce l'ho fatta.
per fortuna che non son l'unica ad avere avuto problemi,...posso fare un piccolo sospiro di sollievo... |
|
Back to top |
|
|
randomaze Bodhisattva
Joined: 21 Oct 2003 Posts: 9985
|
Posted: Fri Feb 18, 2005 8:42 pm Post subject: |
|
|
mouser wrote: | Solo che finora mi sono iscritto, ho cercato, ho chiesto a circa 7 persone, ma nessuno di noi ha capito come uploadare un howto |
Vai nel thread del wiki e spiega quali sarebbero i problemi che hai incontrato.... _________________ Ciao da me! |
|
Back to top |
|
|
Terenz n00b
Joined: 08 Mar 2005 Posts: 40
|
Posted: Fri Apr 15, 2005 4:40 pm Post subject: |
|
|
ciao ho seguito la tua guida e quando vado a testarlo mi da un messaggio di questo tipo
Traceback (most recent call last):
File "/usr/local/bin/batt_warning", line 66, in ?
if(arr[0]!='charging' and int(arr[1])<6):
IndexError: list index out of range
purtroppo non so muovermi tanto bene perchè sono alle prime armi
mi potete aiutare |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Sat Apr 16, 2005 4:28 pm Post subject: |
|
|
Manda anche un PM all'autrice dello script. _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
luna80 Veteran
Joined: 01 Feb 2004 Posts: 1547 Location: switzerland
|
Posted: Mon Apr 18, 2005 12:09 pm Post subject: |
|
|
Terenz wrote: | ciao ho seguito la tua guida e quando vado a testarlo mi da un messaggio di questo tipo
Traceback (most recent call last):
File "/usr/local/bin/batt_warning", line 66, in ?
if(arr[0]!='charging' and int(arr[1])<6):
IndexError: list index out of range
purtroppo non so muovermi tanto bene perchè sono alle prime armi
mi potete aiutare |
scusa se ti risponso solo ora ma durante il week end no navevo la connesssione.
hai modificato il file /usr/local/bin/battery_warning come avevo detto di fare? (e cioè mettendo il path del TUO file con l'output di acpi)
credo che il tuo problema sia quello.
fammi sapere! |
|
Back to top |
|
|
|