nIQnutn

Le numérique libre en contre-addiction

Conky - Moniteur système

Conky est un utilitaire très sympathique. C'est un moniteur système hautement configurable. Les applications possibles sont très variées, de la plus futile à la plus indispensable.

Sur Debian Jessie, le paquet update-notifier ne fonctionne plus et je ne sais donc pas s'il existe des mises à jour. Conky me permet de surveiller le nombre de mises à jour. Les variables de conky sont nombreuses et pourront certainement répondre à tous vos besoins.

Installation

Pour l'installation de conky, une simple commande suffit:


#root
apt-get install conky-all

Il faut ensuite créer le fichier ~/.conkyrc


$user
touch ~/.conkyrc

Ce fichier se compose de deux parties:

  • La configuration de conky
  • Ce qui est affiché par conky (se place après la balise "TEXT")

Pour lancer conky manuellement:


$user
conky &

Pour le lancement automatiquent à chaque session, entrer dans le menu "Paramétrage > Session et démarrage> Démarrage automatique" pour ajouter une application avec la commande: conky -p 2

Personnellement, je préfère utiliser plusieurs conky.
On placera tous les fichiers dans le dossier ~/.conky .
Dans ce dossier on aura conky.sh pour le lancement de tous les conky présent également dans le dossier (system.conky, data.conky, network.conky, ...)
Pour le démarrage automatique on ajoutera la commande ~/.conky/conky.sh à la place de conky -p 2

Configuration de conky

Chaque fichier conky peut être configurer en définissant:
  • position du conky
  • taille
  • police
  • rafraîchissement du conky
  • ... et autres options d'affichage
Toutes les configurations présentées par la suite peuvent ne pas être adaptées à votre configuration. Avec quelques modifications, tout devrait être fonctionnel.

code
~/.conkyrc
### Conky Display Settings

# Update interval in seconds
update_interval 1.O


# Create own window instead of using desktop (required in nautilus)
own_window yes

# Use pseudo transparency with own_window?
own_window_transparent yes
own_window_argb_visual yes


# Use double buffering (reduces flicker-maybe)
double_buffer yes


# If own_window is yes, these window manager hints may be used
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes


# Utiliser Xft (polices lissées etc)
use_xft yes
xftalpha .1
override_utf8_locale yes # force UTF8

#police a utiliser : use_xft doit être a "yes"
xftfont DejaVu Sans:size=10
# Tout le texte en majuscule
uppercase no


# écart avec le bord x=gauche ou droit y= haut ou bas
gap_x 15
gap_y 100


# positon
alignment top_right

# taille
minimum_size 300
maximum_width 300

default_color 1a2738
default_shade_color white
default_outline_color f42121

TEXT

-- Le contenu du conky --
Ce fichier doit être inséré au début de chaque fichier *.conky
Tout ce qui est présent après la balise TEXT devrait fonctionner mais risque d'être décalé à cause des ${offset} et ${align}.
Certaines variables devront être changé selon votre système: température CPU, HDD, interface réseau, ...

system.conky

La partie pour surveiller son système avec:
  • Les informations concernant la distribution
  • Le noyau utilisé
  • Les mises à jour disponibles
  • L'utilisation du processeur (utilisation moyenne du CPU, les 3 processus qui sollicitent le plus le CPU, température du CPU)
  • L'utilisation de la RAM (utilisation moyenne de la RAM, les 3 processus qui sollicitent le plus la RAM)

code
~/.system/data.conky
TEXT
${font DejaVu:style=Bold:size=12}Système${hr}
${font}# restaure la police par défaut
${execi 86400 lsb_release -si} : ${execi 86400 lsb_release -sr} ${execi 86400 lsb_release -sc} $alignr $nodename
Noyau : $sysname $kernel $alignr $machine
Mises à jour disponibles : $alignr ${execi 1800 aptitude search "~U" | wc -l | tail}

#/sys/class/hwmon/hwmon[n]/device/temp[n]_input ([n] est un chiffre)
${cpugraph cpu0 30,300   00ff00 ff0000 -t}
${voffset -32}${font DejaVu:style=Bold} CPU  ${cpu}% ${font}$alignr${hwmon 1 temp 1}°C 
${voffset 5}${font DejaVu:size=8}${top name 1} $alignr${offset -30}${top pid 1} $alignr${top cpu 1}%
${top name 2}  $alignr${offset -30}${top pid 2} $alignr${top cpu 2}%
${top name 3}  $alignr${offset -30}${top pid 3} $alignr${top cpu 3}%

${memgraph 30,300   00ff00 ff0000 -t}
${voffset -32}${font DejaVu:style=Bold} RAM  $memperc% ${font}$alignr$mem / $memmax 
${voffset 5}${font DejaVu:size=8}${top_mem name 1} $alignr${offset -30}${top_mem pid 1} $alignr${top_mem mem 1}%
${top_mem name 2} $alignr${offset -30}${top_mem pid 2} $alignr${top_mem mem 2}%
${top_mem name 3} $alignr${offset -30}${top_mem pid 3} $alignr${top_mem mem 3}%

data.conky

La partie pour surveiller l'utilisation du disque.


code
~/.conky/data.conky

TEXT
${font DejaVu:style=Bold:size=12}Données ${hr}
${font}# restaure la police par défaut
${font} / ${alignr}${color}$alignr${font DejaVu:size=8}${fs_used /} / ${fs_size /}
${fs_bar 8,300 /}
${font} /data ${alignr}${color}$alignr${font DejaVu:size=8}${fs_used /data/Data} / ${fs_size /data/Data}
${fs_bar 8,300 /data/Data}
${font}# restaure la police par défaut
${diskiograph_read  /dev/sda 30,145 B1C5FF 002798 -t}$alignr${diskiograph_write  /dev/sda 30,145 FFC5B1 982700 -t}
${font DejaVu:style=Bold}${voffset -38}$alignc${offset -75}${diskio_read /dev/sda}
${font DejaVu:style=Bold}${voffset -19}$alignc${offset 85}${diskio_write /dev/sda}
${font DejaVu:size=8}${voffset -8}$alignc${offset -75}Read
${font DejaVu:size=8}${voffset -13}$alignc${offset 85}Write

network.conky

La partie pour surveiller l'utilisation du réseau (ethernet, wifi et VPN).


code
~/.conky/network.conky
TEXT
${font DejaVu:style=Bold:size=12}Réseau ${hr}
${font}eth0 $alignr ${addr eth0}
${if_up eth0}${downspeedgraph  eth0 30,145 B1C5FF 002798 -t }$alignr${upspeedgraph  eth0 30,145 FFC5B1 982700 -t}
${font DejaVu:style=Bold}${voffset -38}$alignc${offset -75}${downspeedf eth0} k/s
${font DejaVu:style=Bold}${voffset -19}$alignc${offset 85}${upspeedf eth0} k/s
${font DejaVu:size=8}${voffset -8}$alignc${offset -75}Download
${font DejaVu:size=8}${voffset -13}$alignc${offset 85}Upload

$endif${font}wlan0 $alignr ${addr wlan0}
${if_up wlan0}${downspeedgraph  wlan0 30,145 B1C5FF 002798 -t }$alignr${upspeedgraph  wlan0 30,145 FFC5B1 982700 -t}
${font DejaVu:style=Bold}${voffset -38}$alignc${offset -75}${downspeedf wlan0} k/s
${font DejaVu:style=Bold}${voffset -19}$alignc${offset 85}${upspeedf wlan0} k/s
${font DejaVu:size=8}${voffset -8}$alignc${offset -75}Download
${font DejaVu:size=8}${voffset -13}$alignc${offset 85}Upload

$endif${if_up tun0}${font}tun0 $alignr ${addr tun0}
${downspeedgraph  tun0 30,145 B1C5FF 002798 -t }$alignr${upspeedgraph  tun0 30,145 FFC5B1 982700 -t}
${font DejaVu:style=Bold}${voffset -38}$alignc${offset -75}${downspeedf tun0} k/s
${font DejaVu:style=Bold}${voffset -19}$alignc${offset 85}${upspeedf tun0} k/s
${font DejaVu:size=8}${voffset -8}$alignc${offset -75}Download
${font DejaVu:size=8}${voffset -13}$alignc${offset 85}Upload$endif

mpd.conky

La partie pour afficher les informations du lecteur MPD.
L'affichage de la pochette d'album n'est pas obligatoire (conky_mpd.sh).

Les images doivent être placés dans le dossier ~/.conky
Récupérer les icônes de votre thème (dans le répertoire /usr/share/icons)

code
~/.conky/mpd.conky
#MPD
mpd_port 6600
mpd_host localhost

TEXT
${if_mpd_playing}${color}${font DejaVu:style=Bold:size=12}Musique ${hr 3}
${font}${color}# restaure la police par défaut 
${voffset 7}${offset 125}${mpd_artist}
${offset 125}$mpd_album
${offset 125}$mpd_track. $mpd_title
${offset 125}${mpd_bar 6,325}
${image ~/.conky/quodLibet_CD.png  -p 10,35 -s 100x100}${image ~/.conky/quodLibet_box.png  -p 1,32 -s 112x105}${image /tmp/conky_cover.jpg  -p 10,35 -s 100x100 -n}${offset 125}${offset 20}${if_match "${mpd_status}"=="Playing"}${image ~/.conky/start.png  -p 125,110 } Playing ${execpi 2 ~/.conky/conky_mpd.sh}${else}${image ~/.conky/pause.png  -p 125,110 } Pause ${endif} ${alignc}${offset 40} ${image ~/.conky/volume.png  -p 230,110 } $mpd_vol   ${if_match "${mpd_repeat}"=="On"} ${image ~/.conky/repeat.png  -p 375,110 } ${endif} 					 ${if_match "${mpd_random}"=="On"} ${image ~/.conky/shuffle.png  -p 425,110 } ${endif}				${endif}

code
~/.conky/conky_mpd.sh
##!/bin/bash

# Répertoire Musique
library='~/Musique/'

# chanson en cours de lecture
current_song=$(mpc --port 6600 --format %file%  | head -n1)
# echo $current_song

# chemin de l'image
current_song_cover=$( echo "$current_song" |   sed 's|/[^/]*$|/cover.jpg|' )
# echo $current_song_cover

# copie de la pochette d'album dans le dossier /tmp
cp -f  "${library}/${current_song_cover}" /tmp/conky_cover.jpg

conky.sh

Pour lancer plusieurs conky, éditer le fichier conky.sh selon vos besoins.

code
~/.conky/conky.sh
#!/bin/bash
sleep 5
conky -c ~/.conky/system.conky &
sleep 5
conky -c ~/.conky/data.conky &
sleep 5
conky -c ~/.conky/network.conky &
sleep 5
conky -c ~/.conky/mpd.conky &
sleep 5

Ressources

Les sites KDE-Look, Gnome-Look, XFCE-look, ... proposent également des conky.

Écrire un commentaire