Conky: System Monitor
Ho da qualche tempo scoperto Conky, un monitor di sistema davvero utile [almeno per me].
Ha un’interfaccia davvero spartana ma personabilissima, e l’installazione è semplice come al solito [basta aver abilitato i repo universe].
Da terminale diamo:
![]()
sudo apt-get install conky
L’applicazione risulterà installata.
Per lanciarla, è sufficiente dare il comando da terminale:
![]()
conky
Per la configurazione, è necessario dare il comando:
![]()
zcat /usr/share/doc/conky/examples/conkyrc.sample.gz > ~/.conkyrc
Questo salverà nella nostra home il file .conkyrc, editabile con Gedit [per visualizzare il file con Nautilus, è necessario abilitare la visualizzazione dei file nascosti].
Per editare il file, diamo il comando:
![]()
gedit $HOME/.conkyrc
Per raccapezzarci in mezzo a quei codici, possiamo dare un’occhiata alle variabili e alle impostazioni.
Solitamente nei blog che trattano di argomenti simili a quelli che tratto io, gli articoli terminano in questo modo. Applicazione installata, due cenni a come configurarla, poi stop.
Personalmente trovo articoli del genere piuttosto banali e comunissimi. Io non vorrei limitarmi a questo, ma scendere di più nello specifico, cercando di dare una mano a tutti i miei lettori nel configurare al meglio il proprio conky.
Va innanzitutto precisato che le configurazioni dei .conkyrc reperibili in rete [magari pubblicati in blog e forum da molte persone] non sono applicabili a tutti i PC. Questo sia per una mancata compatibilità hardware, sia per la possibile assenza di pacchetti importanti installati [vedi lmsensors, hddtemp, ecc..].
Detto questo, diamo un’occhiata al nostro .conkyrc.
Come sempre, le righe commentate danno informazioni sull’utilizzo della stringa successiva.
Alla fine del documento, sotto la scritta TEXT, sono invece presenti le informazioni che verranno formattate sul desktop da conky.
Vediamo come poter costruire il nostro .conkyrc per rendere un output molto simile a questo:

Quello che vediamo, è stato configurato secondo le istruzioni di A new vision of conky. Gli script disponibili all’indirizzo linkato sono stati creati dal ragazzo che ha condiviso il suo lavoro.
Io, nello screenshot qui sopra, faccio uso solo dello script che monitora la temperatura del disco fisso.
Vediamo quindi, in ordine, come impostare i vari parametri.
Velocità di download/upload:
Per impostare la velocità di rete, dobbiamo innanzitutto sapere il modo in cui la nostra connessione viene riconosciuta. Io, ad esempio, mi connetto a un router tramite cavo USB, e la mia rete è riconosciuta come eth0. Se mi connettessi via wireless, ad esempio, potrebbe essere wlan0 o eth1.
Per scoprirlo dobbiamo esaminare gli output dei comandi sudo ifconfig e sudo iwconfig. Gli output di quei comandi ci restituiranno le informazioni necessarie a capire in che modo è riconosciuta la nostra interfaccia di connessione. Nell’esempio che segue, io utilizzerò eth0.
La stringa da apporre sotto TEXT nel .conkyrc è questa:
Download speed ${downspeed eth0} Kb/s
Upload speed ${upspeed eth0} Kb/s
Totale di download/upload
Se volessimo inserire anche la dimensione totale degli upload e download della sessione corrente, le stringhe sono queste:
Total downloaded ${totaldown eth0}
Total uploaded. ${totalup eth0}
Temperatura del disco fisso
Come dicevo sopra, per monitorare la temperatura del disco fisso utilizzo uno script, appositamente posizionato all’interno di $HOME/scripts. Il nome dello script è hddmonit.sh, e lo possiamo trovare all’interno del tarball di a new vision of conky.
La stringa per monitorare la temperatura del disco è questa:
HDD ${execi 1 ~/scripts/hddmonit.sh}°C
A seconda di dove posizioniamo il nostro script, dovremo modificare la stringa qui sopra per impostare il percorso corretto.
Ora veniamo ai dischi fissi.
Spazio libero/occupato dei dischi fissi
Io ho 3 dischi da monitorare: il disco principale [filesystem], un disco da 120GB contenente la mia musica e un disco da 320GB contenente i miei backup.
Sono tutto etichettati e montati sotto /media.
Ecco le mie stringhe:
Home: ${fs_used /home}/${fs_size /home}
Music Disk: ${fs_used /media/120GB}/${fs_size /media/120GB}
Backup: ${fs_used /media/320GB}/${fs_size /media/320GB}
Possiamo anche utilizzare una barra grafica per la dimensione del disco, con la variabile fs_bar.
Temperatura del CPU
Per poter monitorare questo elemento, abbiamo bisogno di installare e configurare lmsensors. Per farlo vi rimando a questo wiki scritto dalla comunità ufficiale italiana di ubuntu-it.org.
Una volta installato e configurato, potremo utilizzare conky per monitorare la temperatura del CPU.
La mia stringa è la seguente:
CPU ${execi 2 cat /sys/bus/pci/drivers/k8temp/000*/temp1_input | cut -c1,2}°C
Carico di CPU e uptime
Le ultime due variabili presenti nel mio .conkyrc sono piuttosto semplici. Una monitora il carico di CPU, l’altra il tempo di uptime [ovvero da quanto tempo è attiva la sessione corrente].
Le stringhe di queste ultime due variabili sono:
CPU usage: ${cpu}%
Uptime: ${uptime}
Musica in ascolto
Ci sono anche altre variabili interessanti.
Alcune in particolare sono molto eyecandy, quelle che permettono di visualizzare il nome dell’artista e del brano che stiamo ascoltando con il nostro player.
Ne ho raccolte 3, per diversi lettori multimediali, che daranno un output simile al seguente:
listening to: Korn - Here to stay
Differiscono in base al player che stiamo utilizzando, quindi ecco le tre variabili configurate a dovere.
Exaile:
${execi 10 exaile --get-title} - ${execi 10 exaile --get-artist} - ${execi 10 exaile --get-album}
Rhythmbox:
${if_running rhythmbox}${exec /usr/bin/rhythmbox-client --no-start --no-present --print-playing|cut -b -99}$endif
Audacious:
${if_running audacious}${exec audtool --current-song | cut -b-99}$endif
Amarok:
Per Amarok c’è bisogno di un passaggio in più.
Innanzitutto dobbiamo creare uno script, che salveremo in una nuova cartella chiamata .conky all’interno della nostra home.
Diamo quindi da terminale:
![]()
mkdir .conky
![]()
cd .conky
![]()
gedit amarok
Inseriamo nel documento queste stringhe:
#!/bin/bash
# amaroK info display script
#
# requirements: amaroK (!)
case “$1″ in
# Now Playing Info
artist) dcop amarok player artist ;;
title) dcop amarok player title ;;
album) dcop amarok player album ;;
year) dcop amarok player year ;;
genre) dcop amarok player genre ;;
progress)
curr=`dcop amarok player trackCurrentTime`
tot=`dcop amarok player trackTotalTime`
if33; then
expr $curr \* 100 / $tot
fi
;;
# Collection Info
totalArtists) dcop amarok collection totalArtists ;;
totalAlbums) dcop amarok collection totalAlbums ;;
totalTracks) dcop amarok collection totalTracks ;;
totalGenres) dcop amarok collection totalGenres ;;
totalCompilations) dcop amarok collection totalCompilations ;;
esac
Diamo poi da terminale:
![]()
sudo chmod +x amarok
Ora che lo script è pronto ed avviabile, inseriamo queste stringhe nel nostro .conkyrc:
${if_running amarokapp}${execi 10 ~/.conky/amarok artist} - ${execi 10 ~/.conky/amarok title}$endif
Le variabili per gli altri lettori non le conosco, ma credo siano ampiamente disponibili sul web.
Un solo cenno ai “simboli” presenti nello scrreenshot. Fanno parte di alcuni set di font presenti nel tarball di a new vision of conky.
Basta inserire nel .conkyrc il font e la lettera dello stesso che disegna un simbolo esplificativo.
Ad esempio, per la velocità di download, il cerchio con la freccia in basso, si visualizza così:
${font PizzaDude Bullets:size=16}r
Dove la lettera finale [r] corrisponde al simbolo.
Infine, per avere conky all’avvio, andiamo in Sistema > Preferenze > Sessioni e aggiungiamo una nuova sessione:
nome: Conky
comando: conky
#BUG Report:
Su alcune versioni di Ubuntu, conky denota un fastidioso sfarfallio.
Per eliminare questo problema, editiamo lo xorg.conf:
![]()
sudo gedit /etc/X11/xorg.conf
E aggiungiamo nella sezione “Module” la riga:
Load "dbe"
Poi riavviamo X e il problema dovrebbe sparire.
Se abbiamo problemi invece con la decorazione, la soluzione è differente a seconda che si usi Compiz o Metacity.
Ci può essere la possibilità che l’output di conky presenti una decorazione di ombreggiatura nel contorno.
Per eliminarla dobbiamo eseguire due procedure differenti.
Con Compiz:
Apriamo il CompizConfig Settings Manager [Sistema > Preferenze > Advanced Desktop Effects Settings] e clicchiamo sul plugin Window Decoration [o Decorazione Finestra].
L’ultimo valore è quello che ci interessa, Shadow Windows. Di default il valore è any, ma noi dovremo inserire questo:
any -conky
In questo modo tutte le finestra avranno l’ombreggiatura, tranne quella di conky.
Il .conkyrc dovrà riportare la seguente stringa:
own_window_type normal
Assicuriamoci inoltre che sia presente questa stringa:
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
Con Metacity:
Il problema con metacity è più complesso. Personalmente ho potuto risolverlo solamente disabilitando l’opzione show_desktop per Nautilus dall’editor di configurazione. Così conky non ha più l’ombreggiatura, ma non posso più visualizzare le icone sul desktop.
Per disabilitare il desktop apriamo il terminale, digitiamo il comando gconf-editor e spostiamoci in apps > Nautilus > preferences. Lì togliamo la spunta alla voce show_desktop.
Con metacity il .conkyrc dovrà riportare la seguente stringa:
own_window_type desktop
Se impostato su override, conky rimarrà sempre in primo piano, anche con altre finestre in esecuzione [solo se lo si avvia allo startup del computer comunque. Se lo sia avvia una volta effettuato l'accesso, la finestra di conky rimane "below"].
Se impostato su normal invece, la finestra di conky avrà la decorazione di una finestra comune, con l’ombreggiatura sul bordo [non disattivabile come con Compiz].
È importante però disattivare l’opzione show_desktop in nautilus, come descritto sopra.3
- $tot 333
3





Cerca:
Settembre 15th, 2008 at 19:52
Ecco… lo sapevo.
Conki è il tipico programma che provo, tengo un po’, disinstallo, reinstallo, disinstallo…
Il tuo post (ben scritto) mi ha fatto venire voglia per l’ennesima volta di reinstallarlo
ps. Belle le statistiche sui browser e OS! Non le mette mai nessuno invece sono sempre interessanti.
Scritto conSettembre 15th, 2008 at 21:11
Pure per me sarà la… quinta volta? che lo metto
Credo che dopo questa “evoluzione” [a new vision of conky] lo terrò però. Mi piace assaje.
Le statistiche in realtà sono un mezzo fake.
O, meglio, sono dati piuttosto reali [presi da shinystat], ma non è un plugin per Wordpress.. solo un PNG creato ad hoc da me e messo lì
Piacciono un sacco anche a me comunque, peccato non vederle spesso in giro.
Scritto conSettembre 16th, 2008 at 13:57
Ciao,
Scritto conprovato ma non vedo i font belli come i tuoi! Forse perchè sono sotto kde?
Settembre 16th, 2008 at 16:19
Io uso corbel come font. Dipende sicuramente da quello
Prova a modificare nel tuo .conkyrc il valore:
xftfont nomefont:size=10
Sostituendo a “nomefont” il nome del carattere che vuoi impostare.
Scritto conSettembre 17th, 2008 at 08:28
ed i font dove li devo mettere per utilizzarli?
Scritto conSettembre 17th, 2008 at 11:53
Leggi qui.
Scritto conLeggi fino in fondo però..
Settembre 17th, 2008 at 14:54
ciao, avevo provato a installare e configurare conky tempo fa, ma credo di avere fatto qualche casino con il file di configurazione, e anche dando da terminale “sudo apt-get remove conky” e poi reinstallandolo, se lo voglio avviare la riga di comando mi dice “missing text block in configuration; exiting”
Scritto consai come posso risolvere?
grazie, ciao!
Settembre 17th, 2008 at 17:13
Vai nella home e abilita la visualizzazione dei file nascosti. Cerca il file .conkyrc e rimuovilo, se c’è.
Poi da terminale dai:
zcat /usr/share/doc/conky/examples/conkyrc.sample.gz > ~/.conkyrcSe anche così non funziona, creati un file chiamato appunto .conkyrc [non dimenticare il punto iniziale] e incollaci dentro queste stringhe:
# Conky sample configuration#
# the list of variables has been removed from this file in favour
# of keeping the documentation more maintainable.
# Check http://conky.sf.net for an up-to-date-list.
# set to yes if you want Conky to be forked in the background
background yes
# X font when Xft is disabled, you can pick one with program xfontsel
#font 5×7
#font 6×10
#font 7×13
#font 8×13
#font 9×15
#font *mintsmild.se*
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*
# Use Xft?
use_xft yes
# Xft font when Xft is enabled
xftfont Sans:size=10
# Text alpha when using Xft
xftalpha 0.8
# Print everything to stdout?
# out_to_console no
# MPD host/port
# mpd_host localhost
# mpd_port 6600
# mpd_password tinker_bell
# Print everything to console?
# out_to_console no
# mail spool
mail_spool $MAIL
# Update interval in seconds
update_interval 2.0
# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0
# Create own window instead of using desktop (required in nautilus)
own_window yes
# If own_window is yes, you may use type normal, desktop or override
own_window_type desktop
# Use pseudo transparency with own_window?
own_window_transparent yes
# If own_window_transparent is set to no, you can set the background colour here
own_window_colour black
# If own_window is yes, these window manager hints may be used
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes
# Minimum size of text area
minimum_size 280 5
# Draw shades?
draw_shades no
# Draw outlines?
draw_outline no
# Draw borders around text
draw_borders no
# Draw borders around graphs
draw_graph_borders yes
# Stippled borders?
stippled_borders 8
# border margins
border_margin 4
# border width
border_width 1
# Default colors and also border colors
default_color 000000
default_shade_color 000000
default_outline_color 000000
# Text alignment, other possible values are commented
#alignment top_left
#alignment top_right
alignment bottom_left
#alignment bottom_right
#alignment none
# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 7
gap_y 60
# Subtract file system buffers from used memory?
no_buffers yes
# set to yes if you want all text to be in uppercase
uppercase no
# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2
# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2
# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes
# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer left
# Allow each port monitor to track at most this many connections (if 0 or not set, default is 256)
#max_port_monitor_connections 256
# Maximum number of special things, e.g. fonts, offsets, aligns, etc.
#max_specials 512
# Maximum size of buffer for user text, i.e. below TEXT line.
#max_user_text 16384
# variable is given either in format $variable or in ${variable}. Latter
# allows characters right after the variable and must be used in network
# stuff because of an argument
# stuff after ‘TEXT’ will be formatted on screen
TEXT
—————————————
Se nemmeno così funziona, dai da terminale:
Scritto consudo apt-get --purge remove conkysudo apt-get install conky
Settembre 17th, 2008 at 18:40
ciao, con l’opzione –purge sono riuscito a reinstararlo ma me lo avviava in una finestra. Creando il file .conkyrc nella home e copiandoci il tuo codice poi da terminale pare avviato, ma non vedo niente da nessuna parte, nè finestre ne testi sullo sfondo (ho messo qualche variabile dopo “TEXT”
Scritto consai come posso risolvere?
scusa ancora per il disturbo
ciaoo
Settembre 17th, 2008 at 18:49
ce l’ho fatta! dovevo soltanto cambiare i colori del testo nel file di configurazione!
Scritto congrazie ancora!
ciao!
Settembre 17th, 2008 at 20:15
Bene
Scritto conSettembre 25th, 2008 at 13:33
ciao, a me da un errore nella parte di exaile, più che altro è proprio il comando exaile –get-title che mi da come output:
Smile Like You Mean It
location: /usr/lib/xulrunner-1.9.0.1/libxpcom.so
before 3
cioè il titolo più
Scritto conlocation: /usr/lib/xulrunner-1.9.0.1/libxpcom.so
before 3, sai per caso cosa dovrei modificare?
Settembre 25th, 2008 at 13:54
Assolutamente no, mi spiace.
Scritto conÈ possibile forse che abbia a che fare con xulrunner? Prova ad installare [se disponibile] la versione più aggiornata e la versione -dev.
Nell’articolo ho riportato la variabile che a me funziona.
Mistero.
Ottobre 11th, 2008 at 18:29
ciao, grazie alla tua ottima guida sn riuscto ad installare conky, ma mi potresti spiegare come si fa a mettere le icone vicino alla variabile, come si vedono nel tuo screenshot? grazie
Scritto conOttobre 11th, 2008 at 19:42
@scusa, ho letto i commenti e ho cercato un po’ su google, ho trovato quello che mi serviva, grazie comunque!
Scritto conDicembre 27th, 2008 at 21:36
Ciao..Scusa disturbo ma è normale che dando il comando da terminale gedit $HOME/.conkyrc, mi si apra un file dove non c’è nessuna stringa di comanda, ciò è praticamente vuoto.Cmq provando a far girare conky con il comando da terminale mi si avvia in finestra, dando informazioni di2base” se cosi si puo dire.Scusami ma sono un neofita di ubuntu e con linguaggio di programmazione e script ancora ci combatto un bel pò=)
Scritto conSpero in una tua risposta, ciao
Dicembre 28th, 2008 at 16:13
Probabilmente non hai generato un file .conkyrc di default.
Hai dato prima
zcat /usr/share/doc/conky/examples/conkyrc.sample.gz > ~/.conkyrc?
Scritto conGennaio 27th, 2009 at 13:09
Conky mi rimane in primo piano sul desktop, ma sotto le finestre che apro….
il problema pero’ è che le icone sul desktop spariscono dietro di lui e nn possono essere + recuperate se nn dal percorso “scrivania”
Scritto conGennaio 27th, 2009 at 14:36
Devi impostare la variabile own_window_type
Scritto conProva con Desktop o Normal.
Febbraio 2nd, 2009 at 23:00
quale può essere il percorso della mio sensore per la cpu, non è quello che proponi tu, quel file (/sys/bus/pci/drivers/k8temp/000*/temp1_input | cut -c1,2) non c’è, anche se ho fatto tutta l’installazione col wiki consigliato? grazie
Scritto conFebbraio 2nd, 2009 at 23:08
e scusa la seconda domanda: come si fa a monitorare 2 hdd? il primo è ok.
Scritto conFebbraio 3rd, 2009 at 21:15
Prova a guardare nella directory /sys/bus/pci/drivers, e cerca lì qualche info sul tuo CPU.
Scritto conPer gli hard disk non saprei… cerca informazioni su hddtemp.
Febbraio 4th, 2009 at 18:40
purtroppo i /sys/bus/pci/drivers non trovo nulla di confacente, ho tentato come molti altri fanno con l’istruzione ${acpitemp}, ma nulla. grazie comunque, ciao.
Scritto conFebbraio 9th, 2009 at 13:21
sono finalmente riuscito (leggi post sopra) e documento qui per altre persone nelle mie condizioni:
Scritto conla stringa inserita che funziona è:
${execi 30 sensors | grep ‘CPU Temp’ | awk ‘{print $3}’}
il mio driver rilevato da sensors è:
w83627thf-isa-0290.
ciao
Febbraio 11th, 2009 at 12:01
E’ possibile visualizzare la canzone in ascolto anche se si usa vlc?
Scritto conFebbraio 11th, 2009 at 12:08
Non ne ho idea, anche se googlando un po’ non ho trovato nulla.
Scritto conMaggio 8th, 2009 at 00:12
grazie per la dritta
Scritto conOttobre 23rd, 2009 at 00:01
E l’orologio come si fà
Scritto con