Installation pour (K/X)Ubuntu
Pour installer Conky, aucun problème.
Il suffit d'installer le paquet "conky-all" déjà présent dans les dépôts officiels.
Code : Console | sudo apt-get install conky-all |
Si vous souhaitez avoir la toute dernière version, vous pouvez rajouter ces lignes à votre sources.list :
Code : Autre1
2
| deb http://ppa.launchpad.net/norsetto/ppa/ubuntu VOTRE_VERSION main
deb-src http://ppa.launchpad.net/norsetto/ppa/ubuntu VOTRE_VERSION main |
Remplacez "VOTRE_VERSION" par le nom de votre version (K)ubuntu. Ex : "jaunty", "karmic", "lucid", ...
Ensuite il suffit de récupérer la clé :
Code : Console | sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 95628707 |
Et il ne vous reste plus qu'à installer le paquet "conky-all".
Pour les autres Linux
Conky est normalement présent dans vos dépôts sous le nom de "conky" ou "conky-all".
Si vous ne trouvez pas le paquet, téléchargez Conky en ".tar.bz2"/".tar.gz" sur
le site officiel.
Et bien maintenant le plus dur reste à faire... configurer Conky !

Maintenant que Conky est installé, il est nécessaire de lui dire
ce qu'il doit afficher et
comment il doit l'afficher.
Pour cela, il est nécessaire de créer un fichier nommé ".conkyrc" dans votre dossier utilisateur.
Pour ce faire, rien de plus simple, ouvrez votre bloc-notes préféré (par exemple Kate

) et créez un fichier appellé ".conkyrc" dans
/home/utilisateur ("utilisateur" étant bien entendu votre nom d'utilisateur).
Ce fichier sera composé de deux parties. La première indiquant tous les paramètres de style de Conky et la seconde comprenant tout ce que Conky doit afficher.
Ces deux parties seront simplement séparées par le mot "TEXT".
Dans la première partie, nous n'allons rien mettre, si ce n'est ces trois instructions :
Code : Autre1
2
3
| own_window yes
update_interval 1
double_buffer yes |
"own_window yes" permet à Conky de s'exécuter dans une fenêtre qui lui est propre.
La ligne "update_interval 1" indiquant que Conky doit se mettre à jour toutes les 1 secondes.
"double_buffer yes" indique que le double buffer est activé, ce qui évite le clignotement gènant.
Mode double buffering : c'est une technique très utilisée dans les jeux 2D qui permet de faire en sorte que les déplacements des objets à l'écran soient fluides (sinon ça scintille et c'est moche).
Définition provenant du cours de C de M@téo21
Votre fichier .conkyrc ressemble donc à cela :
Code : Autre1
2
3
4
5
| own_window yes
update_interval 1
double_buffer yes
TEXT |
Pour ouvrir Conky et tester votre ".conkyrc", rien de plus simple, tapez simplement "conky" en console.
Passons maintenant à l'affichage des données.
La structure de la partie "TEXT" du ".conkyrc" est un tout petit peu complexe.
Le shèma général est le suivant :
Code : Bash | Mon texte $ma_variable
Encore du texte ${autre_variable argument1 argument2}
|
Par exemple, pour afficher la quantité de mémoire libre, il faudra taper ceci :
Code : Bash
Vous trouverez la liste de toutes les variables dans la documentation officielle de Conky :
Comme cette documentation, sans exemples précis, est assez hermétique au premier abord, voici quelques réalisations possibles :
Affichage de l'uptime
L'"uptime" est la durée depuis laquelle l'ordinateur est allumé.Pour l'afficher, la doc indique ceci :
| Variable | Arguments | Explication |
|---|
| uptime |
|
Uptime |
La variable "uptime" ne nécessite aucun argument. Il est donc possible de l'afficher en tapant simplement :
Code : Bash
Evidamment, pour faire plus beau et surtout, pour compredre à quoi correspond ce qui est affiché, une petite légende fait tout de suite mieux!
Rajoutons vite cela.
Code : Bash
Et voilà, le tour est joué.
Ça s'affiche !
Affichage du niveau de batterie
Passons maintenant à quelque chose d'un peu plus compliqué : la batterie.
J'ai envie d'afficher le temps qu'il me reste avant de tomber en panne de batterie.
Je fouille dans la documentation.... Ah, voilà, il faut utiliser "battery_time"
| Variable | Arguments | Explication |
|---|
| battery_time |
(num) |
Battery charge/discharge time remaining of ACPI battery. ACPI battery number can be given as argument (default is BAT0). |
Bon, là, ça se corse déjà un peu. J'essaie en tapant ceci :
Code : Bash | Temps restant (batterie) : $battery_time
|
Et ça marche !
En effet, l'argument "num" est facultatif (comme l'indique les parenthèses). Ma batterie étant justement appellée "BAT0", il n'y a pas de problème et tout s'affiche.
Eh, chez moi ça marche pas ! Qu'est-ce qui se passe ?
Il se passe simplement que la batterie ne s'appelle pas "BAT0" mais peut-être "BAT1" ou autre chose.
Et comment puis-je savoir quel est cet "autre chose" ?
Losque Conky ne sait pas afficher une information, il affiche un message d'erreur en console. En l'occurrence, vous devriez avoir ce message d'erreur :
Code : Console | Conky: can't open /sys/class/power_supply/BAT0: No such file or directory |
Il vous suffit alors d'aller voir dans "/sys/class/power_supply" comment s'appelle votre batterie. Dans mon cas, la batterie s'appellait "BAT1". Je l'ai donc noté ainsi dans mon ".conkyrc" :
Code : Bash
Affichage de la charge réseau
Allons encore plus loin avec l'affichage de la charge réseau. Pour ce faire, je vais utiliser les fonctions "downspeedgraph" et "upspeedgraph" qui m'afficheront respcetivement un graphique de mes donwloads et un autre graphique des mes uploads. Rebelote, retour à la documentation :
| Variable | Arguments | Explication |
|---|
| downspeedgraph |
(netdev) (height),(width) (gradient colour 1) (gradient colour 2) (scale) (-t) (-l) |
Download speed graph, colours defined in hex, minus the #. If scale is non-zero, it becomes the scale for the graph. Uses a logarithmic scale (to see small numbers) when you use -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). |
| upspeedgraph |
(netdev) (height),(width) (gradient colour 1) (gradient colour 2) (scale) (-t) (-l) |
Upload speed graph, colours defined in hex, minus the #. If scale is non-zero, it becomes the scale for the graph. Uses a logarithmic scale (to see small numbers) when you use the -l switch. Takes the switch '-t' to use a temperature gradient, which makes the gradient values change depending on the amplitude of a particular graph value (try it and see). |
Détaillons un peu les arguments demandés :
netdev : c'est votre connexion internet.
Par exemple, si vous êtes en wifi, c'est généralement "wlan0" et si vous utilisez un cable ethernet "eth0".
Pour vérifier quelle est votre connexion, allez voir dans votre gestionnaire de connexion internet.
height : pas de secret, il suffit de connaitre un peu l'anglais. Il s'agit tout simplement de la hauteur de votre graphique.
width : même chose, c'est la largeur du graphique. (en pixels)
gradient colour 1 / gradient colour 2 : si vous souhaitez que votre graphique soit en dégradé de couleur, idiquez là la couleur du début et de la fin de votre graphique. (en code hexadécimal).
scale : l'échelle du graphique.
Bon, essayons.
Je vais afficher la vitesse de téléchargement en wifi (wlan0) dans un graphique de 22 pixels de haut et de 150 pixels de long.
La couleur de gauche sera du vert (00ff00) et la couleur de droite du rouge (ff0000) :
Code : Bash | ${downspeedgraph wlan0 22,150 00ff00 ff0000}
|
Lisez attentivement la documentation ! Toutes les valeurs doivent être séparées par un espace SAUF la hauteur et la largeur qui doivent être séparées par une virgule.
Voyons voir le résultat :
C'est beau ! Mais j'aimerais bien afficher la vitesse de téléchargement en plus parce qu'un graphique comme ça, c'est pas très parlant !
Rien de plus simple.
Afficher la vitesse de téléchargement se fait grâce à la variable "downspeedf".
Code : Bash
Ce serait encore mieux si on l'affichait sur le graphique !
Il va donc falloir remonter le texte et peut-être le décaler sur la droite.
Les deux variables servant à décaler le texte sont "offset" et "voffset" prenant chacune comme argument la grandeur du déplacement (en pixels).
Mettons cela en pratique :
Code : Bash | ${downspeedgraph wlan0 22,150 00ff00 ff0000}
${offset 40}${voffset -21}${downspeedf wlan0}k/s
|
Et voilà, le tour est joué !
Bien entendu, ce type de graphique peut-être utilisé pour d'autres variables.
Par exemple, la lecture/écriture sur le disque (diskiograph_write et diskiograph_read).
L'espace libre sur le disque
Voyons maintenant une dernière chose; la quantité d'espace libre restant sur le disque.
La fonction permettant cela est "fs_bar" ayant pour arguments la hauteur et la largeur de la barre, de même que la partition dont on souhaite connaitre l'encombrement.
C'est parti!
Code : Bash
Et voilà le résultat :
Bien sûr, vous pouvez ajouter les pourcentages, l'espace total restant,... grâce aux autres fonctions de Conky mais je vous laisse le soin de chercher cela dans la documentation.
P.S : Allez voir du côté de "fs_used_perc" pour afficher le pourcentage de disque utilisé.
Voyons maintenant une dernière chose, purement esthétique : l'affichage d'une image dans votre Conky.
En effet, des données brutes, sans images, avec simplement des graphiques, c'est parfois assez frustrant pour l'œil. Heureusement, Conky offre une fonction permettant d'intégrer des images... "image" !
Cette fonction prend comme argument le chemin de l'image, sa position (précédée de "-p) et sa taille (précédée de "-s).
Le chemin de l'image doit être absolu, c'est à dire "/home/utilisateur/image.jpg".
Testons cela tout de suite :
Code : Bash | ${image /home/moi/Images/kubuntu.png -p 20,0 -s 250x63}
|
Je mets ça en tête de mon fichier ".conkyrc".
Et voilà le résultat :
Avouez que ça fait plus beau!
(Bon, d'accord, là, c'est affreux, mais j'ai pris la première image qui me tombait sous la main
)
De nombreuses autres possibilités sont offertes par Conky. Si vous cherchez quelques scripts tout fait que vous n'avez plus qu'à intégrer dans Conky, vous pouvez aller faire un tour sur ces sites :
Maintenant que vous avez affiché tout ce que vous désiriez dans Conky, il reste à le transformer en un pur chef d'œuvre, digne de Picasso, Magritte,... que dis-je plus beau encore !
Nous allons donc nous pencher sur la partie figurant avant "TEXT".
Tout d'abord, la documentation Conky concernant le style :
En premier lieu, changeons la police.
Pour ce faire, nous allons utiliser une police lissée, donc bien plus jolie, grâce à "use_xft" :
Code : Bash
Si vous souhaitez modifier l'affichage de Conky dans une fenêtre ou l'afficher directement sur le bureau, les fonctions "own_window_type" et "own_window" vous seront très utiles.
"own_window" indique si Conky doit posséder sa propre fenêtre et "own_window_type" de quel type doit être cette fenêtre. A savoir :
- Normal : fenêtre normale (par défaut)
- Override : fenêtre non prise en charge par le gestionnaire de bureau (permet de pallier certains bugs dû à Nautilus)
- Desktop : la fenêtre est le bureau
C'est cette dernière option que nous allons utiliser, car c'est bien plus beau d'afficher Conky sur le bureau !
Un dernier petit plus, pour rendre la fenêtre transparente lorsqu'elle est sur le bureau, l'option "own_window_transparent" est très utile !
Nous avons donc ceci :
Code : Bash | #Paramètres de la fenêtre
own_window yes
own_window_type desktop
own_window_transparent yes
#Paramètres de la police
use_xft yes
#Paramètres de configuration
update_interval 1
double_buffer yes
|
Si vous souhaitez afficher votre fenêtre à un endroit bien précis, vous pouvez utiliser la fonction "aligment" qui prend comme argument la position à laquelle vous souhaitez voir votre fenêtre (un peu comme en CSS).
Personnellement, j'aime bien voir Conky en haut à droite de mon bureau.
Je tape donc ceci :
Code : Bash
Le reste des options étant assez simple à comprendre, je vous laisse les découvrir à votre aise.

Mes accents ne s'affichent pas. Ils sont remplacés par de drôles de caractères comme @A.
Pour que les caractères accentués s'affichent dans Conky, il est nécessaire de forcer l'encodage en UTF-8 grâce à la ligne suivante :
Code : Autre
J'utilise Kubuntu et Conky garde un fond noir lorsqu'il est sur le bureau. Pourtant, j'ai bien mis l'option "own_window_transparent yes".
C'est un bug classique de Kubuntu.
Pour le corriger, il est nécéssaire d'installer "feh" :
Code : Console
Et de taper ce code à chaque démarrage :
Code : Console | sudo feh --bg-scale `grep 'wallpaper=' ~/.kde/share/config/plasma-desktop-appletsrc | tail --bytes=+11` |
Conky clignote à chaque mise à jour des informations. C'est insupportable. Comment supprimer cet effet ?
Vous avez sans doute oublié cette ligne dans votre fichier de configuration :
Code : Autre