Page 1 of 1

[TIP] conky -- text to stdout

Posted: Thu Aug 24, 2006 9:57 pm
by lavish
2011/07/31: dopo una segnalazione di un utente, tengo a precisare che il thread in questione e' totalmente outdated, non fate riferimento ad esso


conky è system monitor nato come fork di torsmo.
Usavo torsmo ai tempi di fluxbox, ma avendo successivamente cambiato windows manager, l'ho abbandonato per passare a un mio script in bash che visualizzasse ciò che mi occorreva via stdout. Il problema era che invocare decine di comandi ogni n secondi, non è proprio la cosa più leggera di questo mondo...
Oggi per puro caso mi sono imbattutto in una opzione che non avevo mai visto in conky:

Code: Select all

out_to_console yes
Questa opzione permette di stampare su stdout le informazioni che altrimenti verrebbero renderizzate in X

Ho quindi replicato il mio script di status per il windows manager e creato una configurazione che mi visualizzasse altre informazioni tramite osd_cat :)
Con conky compilato in questo modo:

Code: Select all

app-admin/conky-1.4.0-r1  USE="-X -audacious -infopipe -ipv6 -truetype -xmms"
un esempio di configurazione può essere:

Code: Select all

background no
out_to_console yes
total_run_times 2
no_buffers yes
uppercase no
update_interval 0.1

TEXT
${exec ~/.dwm/battery } ${time %H:%M %d/%m/%y} ${acpitemp}^C $loadavg
Lo script che visualizzo tramite xosd con un pulsante speciale del laptop invece è:

Code: Select all

background no
out_to_console yes
total_run_times 2
own_window no
no_buffers yes
uppercase no
update_interval 0.1

TEXT
RAM USAGE:     $memperc%
SWAP USAGE:    $swapperc%
CPU FREQ:      $freq MHz
CPU USAGE:     ${cpu 0}%
TOT PROCESSES: $processes
RUN PROCESSES: $running_processes
WIFI LINK:     ${linkstatus ath0}%
UPTIME:        $uptime
L'effetto è veramente gradevole :)
In questo screenshot, potete vedere la prima configurazione in azione in alto a destra, mentre la seconda al centro


Nota:
Conky non è un software perfetto, anzi. E' dannatamente bacato e non sempre la configurazione che si crea fa esattamente quello che dovrebbe fare secondo il man. Nei miei due files di configurazione, ho usato queste due opzioni

Code: Select all

total_run_times 2
update_interval 0.1
che prevengono un post doppio in stdout delle informazioni.
E' un bug che ho segnalato e dovrebbe essere stato fixato in cvs (non ho avuto modo di testare però)

Ciao!

Posted: Fri Aug 25, 2006 8:19 am
by neurolepsia
bella lavish ! penso lo provero'... il tuo script e' molto piu' elegante, quello di conky mi sembra cosi' tanto pacchiano... ma credo che con un paio di opzioni si possa migliorare..

una domanda. Quanto ci guadagno in termini di prestazioni, mettendo conky al posto di .status ? Tanto o poco? altrimenti mi tengo quello vecchio

grazie, ciao

Posted: Fri Aug 25, 2006 11:26 am
by lavish
Non lo so sinceramente... sicuramente per l'utente non cambia niente ;)

Re: [TIP] conky -- text to stdout

Posted: Thu Sep 07, 2006 11:42 am
by topper_harley
lavish wrote: Nota:
Conky non è un software perfetto, anzi. E' dannatamente bacato e non sempre la configurazione che si crea fa esattamente quello che dovrebbe fare secondo il man. Nei miei due files di configurazione, ho usato queste due opzioni

Code: Select all

total_run_times 2
update_interval 0.1
che prevengono un post doppio in stdout delle informazioni.
E' un bug che ho segnalato e dovrebbe essere stato fixato in cvs (non ho avuto modo di testare però)
Pur utilizzando queste impostazioni ottengo sempre un doppio output in console.

C'è qualcos'altro che posso provare o devo passare al cvs?

Posted: Mon Jan 29, 2007 2:29 pm
by lucapost
Peccato che se indirizzo l'output sulla console, le informazioni come la ram utilizzata, velocità di trasferimento delle interfaccie,..., non si aggiornano!
O mi sbaglio?
Sarebbe comodo vedere con osd_cat tali informazioni che si aggiornano.
L'unica soluzione a questo è lanciare osd_cat ad intervalli regolari su un file in continuo aggiornamento?

Posted: Mon Jan 29, 2007 3:04 pm
by lavish
lucapost wrote:Peccato che se indirizzo l'output sulla console, le informazioni come la ram utilizzata, velocità di trasferimento delle interfaccie,..., non si aggiornano!
O mi sbaglio?
Sarebbe comodo vedere con osd_cat tali informazioni che si aggiornano.
L'unica soluzione a questo è lanciare osd_cat ad intervalli regolari su un file in continuo aggiornamento?
Certo che si aggiornano le informazioni... basta impostare un delay umano fra una esecuzione e l'altra e un numero di esecuzioni infinite.
Riguardo a osd_cat, puoi crearti uno script che invoca conky il quale manda output in stdin a osd_cat, e associarlo ad un comando o una combinazione di tasti.

Ad ogni modo, io ho usato conky il tempo di fare questo tip sostanzialmente, poi ho tolto questo software dal mio sistema (e' orribile, uno script sh basta e avanza). osd_cat invece e' IMHO di dubbia utilita'