Conky è un piccolo applicativo lato desktop per avere le risorse del Computer sempre sotto occhio.
Il codice ha bisogno di un po’ di personalizzazioni e un minimo di conoscenze di programmaziione, ma tutto sommato è molto semplice da usare e da installare in più è un utility che ritengo indispensabile.
Esistono anche alcuni cloni per Windows ma ninete di così cool e personalizzabili come Conky.
Per coloro che usano GNOME con Nautilus come file manager predefinito vorrei aggiungere che Conky non è del tuto compatibile con Nautilus pertanto se Conky viene fatto eseguire automatcamente all’avvio del sistema il file manager (Nautilus) si sovrappone a Conky. Ho ovviato a questo problema impostando un ritardo di 10 secondi all’avvio di Concky.
Una delle cose a mio avviso più cool che sono riuscito a fare è quella di riportare sul desktop le statistiche delle connessioni di rete, anche per connessioni GPRS – UMTS (per cellulari o chiavette GPRS – UMTS) utilissimo per chi ha contratti a consumo. Come potete vedere dall’immagine se una connessione (wire, wireless, GPRS o UMTS) viene attivata si apre il pannello con le statistiche. Le statistiche sono pienamente personalizzabili e posso riportare il tempo di connessione, la velocità, i byte caricati e scaricati, il SSID e la potenza del segnale per le connessioni WiFi, gli indirizzi IP pubblico e privato e con un piccolo DB in MySQL è possibile visualizzare le statiscitche di consumo giornaliero, settimanale o mensile.
Sotto ho riportato il mio codice. Non nego che ci ho messo un bel po’ di tempo prima che la mia versione fosse stabile.
Il mio Desktop:
Il codice:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
alignment top_right background no border_width 1 cpu_avg_samples 2 default_color white default_outline_color white default_shade_color white draw_borders no draw_graph_borders yes draw_outline no draw_shades no use_xft yes xftfont DejaVu Sans Mono:size=12 gap_x 5 gap_y 15 minimum_size 5 5 net_avg_samples 2 no_buffers yes out_to_console no out_to_stderr no extra_newline no own_window_class Conky stippled_borders 0 update_interval 1.0 uppercase no use_spacer none show_graph_scale no show_graph_range no own_window_transparent yes own_window_type override own_window yes xftfont Bitstream Vera Sans Mono:size=9 double_buffer yes TEXT ############## SYSTEM ####################### $color${font Vibrocentric:style=bold:size=9}${alignc}${time %A %d %B %Y, %H:%M}$font ${color slate grey}$stippled_hr ${alignc}$nodename - $sysname $kernel on $machine ${color grey}Uptime:${color #7f8ed3} $uptime ${alignr 5}${color grey}System Updates:${color #7f8ed3} ${execi 3600 aptitude search "~U" | wc -l | tail} ${color grey}AC:${color #7f8ed3} ${acpiacadapter} ${alignr 5}${color grey}Battery:${color #7f8ed3} $battery ${color slate grey}$hr ######## CPU #################### #${color grey}CPU T°:${color #7f8ed3} ${acpitemp}°C ${color grey}CPU Usage:${color #7f8ed3} ${freq}MHz ${alignr} ${cpu}% ${cpubar 5,140} ${color grey}CPU 1: ${execpi 5 sensors | grep 'Core 0:' | paste -s | cut -c15-18 | xargs ~/.conky/colorize.sh}°C ${alignr} ${cpu cpu1}% ${cpubar cpu1 3,140}$color ${color grey}CPU 2: ${execpi 5 sensors | grep 'Core 1:' | paste -s | cut -c15-18 | xargs ~/.conky/colorize.sh}°C ${alignr} ${cpu cpu2}% ${cpubar cpu2 3,140}$color ${color slate grey}${cpugraph 30,310 000000 7f8ed3} ############ RAM ##################### ${color grey}RAM:${color #7f8ed3} $mem/$memmax ${alignr}$memperc% ${membar 6,125} ${color grey}Swap:${color #7f8ed3} $swap/$swapmax ${alignr}$swapperc% ${swapbar 6,125} ${color grey}Buffered:${color #7f8ed3} ${buffers} ${color grey}| Cached:${color #7f8ed3} ${cached} ${color grey}Processes:${color #7f8ed3} $processes ${color grey}| Running:${color #7f8ed3} $running_processes ${alignr 5}${color grey}| GPU T°:${color #7f8ed3} ${execi 30 nvidia-settings -q GPUCoreTemp -t }°C ${color slate grey}$hr ################################### ${color grey} Name${alignr 80}PID${alignr 45}CPU%${alignr 10}MEM% ${color 5F72BF} ${top name 1}${alignr 50}${top pid 1}${alignr 30}${top cpu 1}${alignr 10}${top mem 1} ${color 6271AF} ${top name 2}${alignr 50}${top pid 2}${alignr 30}${top cpu 2}${alignr 10}${top mem 2} ${color 636F9F} ${top name 3}${alignr 50}${top pid 3}${alignr 30}${top cpu 3}${alignr 10}${top mem 3} ${color 626B8F} ${top name 4}${alignr 50}${top pid 4}${alignr 30}${top cpu 4}${alignr 10}${top mem 4} ${color 5F657F} ${top name 5}${alignr 50}${top pid 5}${alignr 30}${top cpu 5}${alignr 10}${top mem 5} ${color slate grey}$hr ############# HD ##################### ${font Vibrocentric:style=bold:size=11}${color grey}File System$font$color ${color grey} root ${color #7f8ed3}${fs_used /}/${fs_size /} ${fs_free /} ${alignr}${fs_used_perc /}% ${fs_bar 6,75 /} ${color grey} usr ${color #7f8ed3}${fs_used /usr/}/${fs_size /usr/} ${fs_free /usr/} ${alignr}${fs_used_perc /usr/}% ${fs_bar 6,75 /usr/} ${color grey} home ${color #7f8ed3}${fs_used /home/}/${fs_size /home/} ${fs_free /home/} ${alignr}${fs_used_perc /home/}% ${fs_bar 6,75 /home/} ################### NETWORK ############## ${color slate grey}$hr ${font Vibrocentric:style=bold:size=11}${color grey}Ethernet Network$font${if_existing /proc/net/route eth0} ${alignr 5}${color #7f8ed3}Connected ${color grey}Local:${color #7f8ed3} ${addr eth0} ${alignr 2}${color grey}Public:${color #7f8ed3} ${execi 300 wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit:]\|.]//g'} ${color #175F00}${downspeedgraph eth0 40,150 000000 175F00} ${alignr}${color #8F0000}${upspeedgraph eth0 40,150 000000 8F0000}$color ${voffset -45}$color${alignc 35}${color #BBFF88}Down: ${downspeedf eth0} k/s ${alignr 35}${color #FF8888}Up: ${upspeedf eth0} k/s $color${alignc 30}${color #BBFF88}Total: ${totaldown eth0} ${alignr 30}${color #FF8888}Total: ${totalup eth0} ${else}${alignr 5}${color #7f8ed3}Disconnected ${endif}${color slate grey}$hr ############ WIRELESS ##################### ${font Vibrocentric:style=bold:size=11}${color grey}Wireless Network$font${if_existing /proc/net/route wlan0} ${alignr 5}${color grey}SSID:${color #7f8ed3} ${wireless_essid wlan0} ${color grey}Signal:${color #7f8ed3} ${wireless_bitrate wlan0} ${wireless_link_qual_perc wlan0}% ${wireless_link_bar 3 wlan0} ${color grey}Local:${color #7f8ed3} ${addr wlan0} ${alignr 2}${color grey}Public:${color #7f8ed3} ${execi 300 wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit:]\|.]//g'} ${color #175F00}${downspeedgraph wlan0 40,150 000000 175F00} ${alignr}${color #8F0000}${upspeedgraph wlan0 40,150 000000 8F0000}$color ${voffset -45}$color${alignc 35}${color #BBFF88}Down: ${downspeedf wlan0} k/s ${alignr 35}${color #FF8888}Up: ${upspeedf wlan0} k/s $color${alignc 30}${color #BBFF88}Total: ${totaldown wlan0} ${alignr 30}${color #FF8888}Total: ${totalup wlan0} ${else}${alignr 5}${color #7f8ed3}Disconnected ${endif}${color slate grey}$hr ############ GPRS - UMTS NETWORK ##################### ${font Vibrocentric:style=bold:size=11}${color grey}UMTS Network$font${if_running pppd} ${alignr 5}${color #7f8ed3}Connected ${color grey}Total 24h:${color #7f8ed3} ${execi 100 vnstat -i ppp0 | grep "today" | awk '{print $8 $9}'} ${alignr 5}${color grey}IP:${color #7f8ed3} ${addr ppp0} ${color #175F00}${downspeedgraph ppp0 40,150 000000 175F00} ${alignr}${color #8F0000}${upspeedgraph ppp0 40,150 000000 8F0000}$color ${voffset -45}$color${alignc 35}${color #BBFF88}Down: ${downspeedf ppp0} k/s ${alignr 35}${color #FF8888}Up: ${upspeedf ppp0} k/s $color${alignc 30}${color #BBFF88}Total: ${totaldown ppp0} ${alignr 30}${color #FF8888}Total: ${totalup ppp0} ${else}${alignr 5}${color #7f8ed3}Disconnected ${endif}${color slate grey}$hr |
Per i sensori di temperatura, di tensioni e delle velocità delle ventole dobbiamo installare un piccolo applicativo lm-sensors dalla shell si esegue con il comando sensors
0 1 2 |
sudo apt-get install lm-sensors |
Per colorare i font in base alle variabili dei sensori utilizziamo un piccolo script che ho chiamato colorize.sh
0 1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/bin/bash # colorize.sh COOL=66 WARM=71 if [[ $1 < $COOL ]] then echo "\${color #BBFF88}"$1 # COOL elif [[ $1 > $WARM ]] then echo "\${color #FF8888}"$1 # HOT else echo "\${color orange}"$1 # WARM fi exit 0 |
I commenti sono chiusi.