Monitoring système grâce à Conky

Pour faciliter le monitoring de son ordinateur tout en ajoutant une touche de personnalisation, nous utiliserons un logiciel nommé Conky. Conky actualise en permanence les données de l’ordinateur (quota disque, températures, activité réseau, …) pour ensuite les afficher sur le bureau de l’utilisateur. Pour voir quelques captures d’écran afin d’apprécier le rendu, rendez-vous ici.

Installation du paquet « conky-all » après mise à jour de la liste des paquets.
apt-get update && apt-get install conky-all

A l’aide de votre éditeur de texte préféré, créeons tout d’abord le fichier « .conkyrc » (bien mettre un point devant, c’est un fichier caché) dans le répertoire de l’utilisateur courant (exemple : /home/mon-utilisateur)

#
# Documentation : http://conky.sourceforge.net/variables.html
#
# Version : 0.1
#


# Polices par défaut.
use_xft yes
xftfont Ubuntu:size=10
override_utf8_locale yes

# Couleur par défaut.
default_color E0DFDE

# Couleur du titre.
color0 DD3A21

# Configuration des performances.
update_interval 1
total_run_times 0
double_buffer yes
no_buffers yes
net_avg_samples 2
text_buffer_size 1024

# Configuration de la fenêtre.
own_window yes
own_window_transparent yes
own_window_type override
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

# Bordures de la fenêtres.
draw_borders no
draw_shades no

# Taille et position.
minimum_size 256 850
gap_x 1
gap_y 25
alignment top_right


TEXT

${GOTO 36}${font Ubuntu:bold:size=12}${color0}Système${font}${color}

${GOTO 36}Kernel:${GOTO 120}${kernel}
${GOTO 36}CPU 1:${GOTO 120}${cpubar cpu1 10,75} ${cpu cpu1} %
${GOTO 36}CPU 2:${GOTO 120}${cpubar cpu2 10,75} ${cpu cpu2} %
${GOTO 36}RAM:${GOTO 120}${membar 10,75} ${memperc} %
${GOTO 36}SWAP:${GOTO 120}${swapbar 10,75} ${swapperc} %
${GOTO 36}Uptime:${GOTO 120}${uptime}

${GOTO 36}${font Ubuntu:bold:size=12}${color0}Batterie${font}${color}

${GOTO 36}Etat:${GOTO 120}${battery BAT0}

${GOTO 36}${font Ubuntu:bold:size=12}${color0}Disques${font}${color}

${GOTO 36}OS:${GOTO 120}${fs_used /}/${fs_size /}
${GOTO 120}${fs_bar 10,100 /}
${GOTO 36}DATA:${GOTO 120}${fs_used /mnt/partition_data}/${fs_size /mnt/partition_data}
${GOTO 120}${fs_bar 10,100 /mnt/partition_data}

${GOTO 36}${font Ubuntu:bold:size=12}${color0}Réseau${font}${color}

${GOTO 36}Interface eth0
${GOTO 36}Up:${GOTO 120}${upspeedf eth0} KiB/s
${GOTO 120}${upspeedgraph eth0 10,100 B7B2AD B7B2AD}
${GOTO 36}Down:${GOTO 120}${downspeedf eth0} KiB/s
${GOTO 120}${downspeedgraph eth0 10,100 B7B2AD B7B2AD}
${GOTO 36}Envoyé:${GOTO 120}${totalup eth0}
${GOTO 36}Téléchargé:${GOTO 120}${totaldown eth0}
${GOTO 36}Adresse IP:${GOTO 120}${addr eth0}

${GOTO 36}Interface wlan0
${GOTO 36}Up:${GOTO 120}${upspeedf wlan0} KiB/s
${GOTO 120}${upspeedgraph wlan0 10,100 B7B2AD B7B2AD}
${GOTO 36}Down:${GOTO 120}${downspeedf wlan0} KiB/s
${GOTO 120}${downspeedgraph wlan0 10,100 B7B2AD B7B2AD}
${GOTO 36}Envoyé:${GOTO 120}${totalup wlan0}
${GOTO 36}Téléchargé:${GOTO 120}${totaldown wlan0}
${GOTO 36}Adresse IP:${GOTO 120}${addr wlan0}

${GOTO 36}IP passerelle:${GOTO 120}${gw_ip}
${GOTO 36}IP Publique:${GOTO 120}${execi 180 ~/.conky.sh public_ip}

${GOTO 36}${font Ubuntu:bold:size=12}${color0}Températures${font}${color}

${GOTO 36}CPU:${GOTO 120}${acpitemp} °C
${GOTO 36}Disque dur:${GOTO 120}${hddtemp} °C

Nous allons créer maintenant un deuxième fichier nommé « .conky.sh » qui sera un script shell additionnel permettant d’ajouter des fonctions à Conky.

#!/bin/bash

#
# Script permettant l'ajout de fonctions pour Conky
#
# Attention de bien le rendre exécutable !
#
# Version : 0.1
#


if [ $# -eq 1 ] ; then

	case $1 in

		public_ip)
			#
			# Récupération de l'IP :
			# Affichage seulement si résultat retourne moins d'une ligne.
			#
			if [ `wget -qO - whatismyip.org | wc -l` -lt 1 ] ; then
				wget -qO - whatismyip.org
			else
				echo "No Address"
			fi

		;;

		test)
			#
			# Simple test d'affichage.
			#
			echo "Hello World !"
		;;

	esac

else

	echo "Trop d'arguments ! (1 seul est requis)"

fi

Il ne faut pas oublier de rendre exécutable le fichier précedemment créé.
chmod +x ~/.conky.sh

Si rien n’a changé sur votre bureau, même après un redémarrage de l’ordinateur, c’est tout à fait normal. Conky n’est juste pas lancé, pour le faire il existe a deux techniques :

  1. la manuelle, en lançant la commande « conky » dans un terminal
  2. l’automatique pour permettre le lancement de conky à l’ouverture de session :
    • « Système »
    • « Préférences »
    • « Applications au démarrage »
    • « Ajouter »
    • Nom : Conky
    • Commande : sh -c "sleep 20; conky;"
    • Commentaire : Lancement retardé de Conky