Skip to navigation
Logo Penaz's Area

cat /dev/random > penaz

Conky: un monitor di sistema leggero leggero


Presentazione di Conky, un misuratore di prestazioni leggerissimo per Linux e BSD.

Screenshot di Conky

Dopo un lungo periodo di pausa ricominciamo coi fuochi d'artificio con Conky, un completissimo monitor di sistema per X, che funziona perfettamente su Linux e BSD.

Diversamente da altri sistemi simili Conky usa solamente un file di testo (~/.conkyrc) per definire la struttura del monitor di sistema, ma non per questo risulta scarno o brutto da vedere; infatti tra gli effetti troviamo addirittura le trasparenze (quelle vere).

Tra i monitor di sistema che possiamo includere nella nostra Conky troviamo:

  • CPU: Rappresentati tramite Grafici, Barre e percentuali
  • RAM: Sempre rappresentabili tramite Barre, Percentuali e Grafici
  • Visualizzazione dello spazio nelle partizioni
  • Temperatura dell'Hardware
  • Indirizzi IP di LAN e WLAN
  • Qualità del segnale WLAN
  • MAC dell'access point a cui siete connessi (io lo uso per capire a quale ripetitore sono connesso)
  • Status del nostro player multimediale preferito
  • Carica residua della batteria
  • Output di programmi eseguiti ad intervalli regolari
  • Molto altro ancora...

Dalla versione 1.10, conky ora usa una nuova sintassi per i file di configurazione, completamente incompatibile con le versioni precedenti, io ho adattato questa configurazione alla nuova versione

Quello che vedete qui è il mio monitor di sistema che uso io, sul mio desktop KDE, contiene molte informazioni utili per sapere sempre come sta il mio portatile, il codice è presente qui sotto:



conky.config = {
    own_window = true,
    own_window_class = 'Conky',
    own_window_type = 'desktop',
    own_window_hints = 'undecorated, below, sticky, skip_taskbar, skip_pager',
    own_window_transparent = false,
    own_window_argb_visual = true,
    own_window_argb_value = 200,
    background = true,
    update_interval = 2,
    temperature_unit = 'celsius',
    double_buffer = true,
    use_xft = true,
    maximum_width = 400,
    alignment = 'top_left',
    gap_x = 50,
    gap_y = 50,
    default_color = 'gray',
    minimum_width = 250, minimum_height = 615,
    border_inner_margin = 5,
    text_buffer_size = 512,

};

conky.text = [[
${font :bold:size=18}${color DarkSlateGrey}$alignc${nodename}
${font :size=10}$alignc Con Kernel ${kernel}
${voffset 5}${font Arial:bold:size=10}${color Orange}CARICO DI SISTEMA ${color DarkSlateGray}${hr 2}
$alignc 1': ${loadavg 1} - 5': ${loadavg 2} - 15': ${loadavg 3}
${voffset 5}${font Arial:bold:size=10}${color Orange}PROCESSORI ${color DarkSlateGray}${hr 2}
$alignc${cpugraph cpu0 50,230}
$alignc In uso: ${cpu cpu0}%
${font Arial:bold:size=10}${color Orange}MEMORIA ${color DarkSlateGray}${hr 2}
$alignc${memgraph 50,230}
$alignc In uso: ${mem}/${memmax} - (${memperc}%)
${voffset 5}${font Arial:bold:size=10}${color Orange}FILE SYSTEM ${color DarkSlateGray}${hr 2}
$alignr Root: ${fs_bar 5,200 /}
$alignr Home: ${fs_bar 5,200 /home/penaz}
${voffset 5}${font Arial:bold:size=10}${color Orange}TEMPERATURA ${color DarkSlateGray}${hr 2}
${voffset 5}${font :size=20}$alignc${acpitemp} C
${voffset 5}${font Arial:bold:size=10}${color Orange}NETWORK ${color DarkSlateGray}${hr 2}
${if_up wlp13s0b1}
$alignc Qualita' WiFi:${wireless_link_qual_perc wlp13s0b1} %
$alignc IP Corrente WLAN: ${addr wlp13s0b1}
$alignc MAC APN: ${wireless_ap wlp13s0b1}$else $alignc WiFi Disattivata
$endif
$alignc IP Corrente ETH0: ${addr eno1}
${font Arial:bold:size=10}${color Orange}BATTERIA ${color DarkSlateGray}${hr 2}
${battery_bar 5,210 BAT0}$alignr${battery_percent}%
${if_match "${battery BAT0}"=="AC"}$alignc Batteria Carica $else Tempo Rimanente: ${battery_time BAT0}$endif
${voffset 5}${font Arial:bold:size=10}${color Orange}IN RIPRODUZIONE ${color DarkSlateGray}${hr 2}
${if_mpd_playing}
$alignc$mpd_artist
$alignc$mpd_title
$alignc${mpd_bar 5,230}
$else
$alignc -----------------------------------
$alignc ..:Nessun Brano in riproduzione:..
$alignc -----------------------------------
$endif
]];

Lo script è diviso in 2 macrosezioni, la prima sono le impostazioni generali (conky.config), poi la sezione "conky.text" rappresenta il punto da cui inizia la vera e propria rappresentazione dell'oggetto che vogliamo costruire. Ogni oggetto costruito viene scritto in un modo che ricorda molto da vicino l'uso delle variabili negli script di Bash quindi per coloro che hanno già fatto qualche scriptino non dovrebbero esserci troppi problemi.

Purtroppo alcune volte Conky si avvia con il fondo "tagliato", il problema si risolve abbastanza tranquillamente impostando l'altezza minima al valore che vogliamo avere, tramite il valore

minimum_size (larghezza) (altezza)

Perciò se volete un monitor di sistema leggero e minimale, ottimo per Window Manager come OpenBox, Conky fa per voi. Questo monitor nello specifico consuma dallo 0.2% allo 0.7% ogni 2 secondi (l'intervallo di aggiornamento) mentre nel tempo che intercorre tra un aggiornamento e l'altro resta in IDLE.

Se volete scaricare Conky potete recarvi sul Sito Ufficiale , mentre se volete qualche idea o suggerimento su come usare al meglio il programma vi consiglio Conky PitStop .

Questo è quanto. Buon monitoraggio a tutti!

Penaz.