Conky : affichage des ressources système
Conky permet la surveillance de pratiquement toutes les variables du système : CPU, mémoire, swap, espace disque, température, téléchargements, messages du système, et bien d'autres encore. L'affichage peut se faire en arrière-plan sur le bureau.
Conky est extrêmement configurable bien que sa configuration puisse être difficile. Pour voir des exemples de configuration de Conky, consultez ce sujet oucette archive.
Pré-requis
- Disposer des droits d'administration.
- Disposer d'une connexion à Internet configurée et activée.
- Avoir l'accès au dépôt Universe (activé par défaut).
Installation
Depuis les dépôts
Pour installer ce logiciel, il suffit d'installer le paquet conky, ou bien la version complète conky-all, qui intègre plus de fonctionnalités (X11, XDamage, XDBE, Xft, MPD, MOC, math, hddtemp, portmon, RSS, Weather, wireless, IBM, nvidia, eve-online, Imlib2, ALSA mixer, apcupsd, I/O stats, argb, Lua+the cairo+imlib2 lua bindings, Audacious, and XMMS2).
Configuration
Pour configurer Conky, créez le fichier .conkyrc dans votre dossier personnel, puis mettez à l'intérieur de celui-ci du code spécial conky, par exemple : Intégrée au fond d'écran ouInterface simple fenêtrée.
Si vous n'avez pas peur de l'anglais, consulter la documentation de Conky.
Conky avant TEXT
La première partie du fichier ".conkyrc" sert à configurer le logiciel Conky lui-même, il ne faut pas oublier de mettre à la suite la partie TEXT qui comporte ce que va afficher Conky ; sans quoi il ne démarrera pas.
# temps pour fermer conky en secondes. 0 = toujours actif total_run_times 0 # affiche le texte sur la sortie standard out_to_console no # réglage de la mémoire, pour éviter le clignotement double_buffer yes # Soustraire les mémoires tampons de la mémoire utilisée no_buffers yes text_buffer_size 2048 # taux de rafraichissement de la fenêtre (en secondes) update_interval 1 # nombre d'échantillons à utiliser pour calculer la moyenne d'utilisation cpu_avg_samples 4 net_avg_samples 2 # taille et positon alignment top_right minimum_size 320 5 maximum_width 320 # écart avec le bord x=gauche oudroit y= haut oubas gap_x 5 gap_y 100 # afficher les ombres draw_shades yes # afficher des contours draw_outline no # contours autour des blocs de texte draw_borders no # largeur du contour border_width 1 # largeur des marges border_margin 4 #pour que conky tourne en arrière plan background no pour les tests background yes # utiliser sa propre fenêtre own_window yes #type de fenêtre : normal(avec le cadre) / override / desktop own_window_type override # normal / override / desktop #pseudo transparence si vous avez des icônes sous le conky elle ne seront plus accessibles une fois Conky activé own_window_transparent 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 Fixed:size=7#OCR A Std:size=6 # Tout le texte en majuscule uppercase no # Ajoute des espaces après certains objets pour éviter de les faire bouger. # Fonctionne uniquement avec les polices Fixes use_spacer right # Couleurs default_color FFFFFF #blanc default_shade_color 333333 default_outline_color black color1 e49c16 color2 CA0000 #rouge color6 EEEEEE color7 DDDDDD color8 CCCCCC color9 BBBBBB
Autres exemples
Visuels (et fichiers) sur le site officiel de Conky.
Sur notre forum : "Conky : Postez vos conkyrc ou certaines parties intéressantes"
Exécution
Pour exécuter ponctuellement Conky, faites ALT + F2 et vous tapez conky
.
Si vous voulez le charger à chaque démarrage : Système → Préférence → Sessions → Programmes au démarrage (ou dans xubuntu : paramètres → session et démarrage → démarrage automatique ; dans Unity, chercher dans le tableau de bord : Applications au démarrage).
Cliquez sur Ajouter et vous tapez "conky". Éventuellement, il faudra retarder son exécution afin que votre bureau (GNOME/KDE/XFCE) soit initialisé :
conky -d
ou
conky -p 10
où le nombre derrière -p est un nombre de secondes d'attente.
Si on souhaite lancer un conky différent du conky standard défini dans ~/.conkyrc : conky -c ~/chemin_répertoires/nom_du_fichier_conky. L'option -c indique de ne pas utiliser le conky par défaut (~/.conkyrc). Exemple concret pour un conky connu comme Gotham :
conky -c ~/conky/Gotham/config/Gotham
Et avec une temporisation de 20 secondes :
conky -p 20 -c ~/conky/Gotham/config/Gotham
Note : l'option -p doit être avant l'option -c, sinon cela ne fonctionne pas.
Si la commande de retardement (-d ou-p 10) ne fonctionne pas avec un Conky par dessus les autres fenêtres suite au démarrage de votre session, voir le chapitre 4.4 de cette documentation ou cliquer ICI pour y accéder directement.
Problèmes rencontrés
Conflit entre Conky et les icônes du bureau
Lorsque l'on configure Conky en intégration bureau, il arrive que les icônes soient masquées par l'option "double_buffer" mise à yes. Vous pouvez tester en la mettant à "no" mais le code clignote à chaque réactualisation.
Ce problème est connu avec Nautilus, mais aussi avec xfdesktop (donc affecte à priori Ubuntu et Xubuntu 9.04+ mais pas Kubuntu)
On peut régler ce problème de différentes façons. Voici une façon simple rapide et ne dépendant pas d'autres applications (On peut classiquement utiliser Compiz pour mettre en œuvre une solution similaire).
Éditer le .conkyrc pour changer la valeur de own_window à yes et rajouter deux options :
own_window yes # On dit à Conky de ne pas se mettre sur le bureau mais dans une fenêtre propre own_window_type override # type de fenêtre "maison" (le type desktop convient si on n'a pas d'ombre) own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager # définition du type
Cette solution provient de la FAQ de Conky, légèrement adaptée (override au lieu de desktop) afin de supprimer l'ombre. Si own_window_type override ne fonctionne pas, vous pouvez essayer own_window_type desktop, cela fonctionne généralement.
Pour s'en sortir avec Compiz, il s'agit essentiellement de créer une règle grâce au plugin regexp matching pour appliquer la décoration et l'ombrage seulement aux fenêtres autres que celle de Conky.
Edit : Essayer le paramètre :
own_window_argb_visual yes
Conflit entre Conky et LXDE
Sous LXDE, lorsque l'on veut intégrer conky au bureau, deux problèmes peuvent apparaître :
- Conky disparaît lorsque l'on clique sur le bureau
- Conky disparaît lorsque l'on fait "minimiser toutes les fenêtres" avec LXPanel
Pour régler le problème, utilisez les paramètres suivants dans votre conkyrc :
background no own_window yes own_window_class Conky own_window_type dock own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager own_window_transparent yes
(Ce code permet également de résoudre ce type de problème sous Kubuntu, ajoutez-le simplement dans votre fichier.)
Puis, allez dans Préférences > openBox configuration manager > dock.
Dans "Position", cochez "Permettre aux fenêtres d'être placées dans la zone de Dock". Puis dans "Empilement", choisissez "Gardez les docks en dessous des autres fenêtres". Le tour est joué !
Transparence avec Openbox
On peut émuler une fausse transparence avec Openbox (qui normalement ne gère pas la transparence), permettant d'afficher le fond d'écran sous le Conky. Normalement, cette configuration fonctionne dans votre conkyrc :
own_window no own_window_transparent yes own_window_type override own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager double_buffer yes
Conky ne s’affiche pas au démarrage de votre session
Au démarrage de votre session, il se peut que Conky soit masqué par d’autres éléments, comme le fond d’écran, qui sont affichés après et donc par dessus. Pour y remédier, il suffit donc de retarder le lancement automatique de Conky.2)
Sans script (plus simple)
Créez une ligne dans votre gestionnaire de session (sur Xfce, on le trouve dans le panneau paramétrage, icône Session et démarrage, par exemple).
conky -p 20
ou
sh -c "sleep 20; conky;"
(réduisez le nombre de secondes en fonction des besoins de votre machine : plus elle démarre vite, plus le nombre de secondes exigé est faible. Une seconde suffit sur des systèmes récents (en 2013)).
Puis redémarrez votre système.
Avec un script
Ce système est plus lourd est n'offre d’intérêt que pour des options de démarrage complexes (comme démarrer plusieurs Conky, par exemple).
On effectue le démarrage retardé à l’aide d’un script qu’on nomme .conkyboot
par exemple, et qu’on place dans le répertoire contenant .conkyrc
c’est-à-dire /home/$USER/
. Voici son contenu :
#!/bin/bash sleep 20; conky;
Le retard, en secondes (20 secondes dans ce script), est à adapter selon ses préférences et le temps de démarrage de la machine.
Penser à rendre le fichier exécutable :
chmod +x ~/.conkyboot
Il faut ensuite spécifier que ce script sera lancé au démarrage. Dans Système → Préférences → Applications au démarrage, cliquer sur Ajouter :
- Nom : Conky
- Commande :
/home/$USER/.conkyboot
Redémarrer le système. Cela devrait fonctionner.
Problème de clignotement
Pour éviter le clignotement éditez le fichier .conkyrc
Et vous mettez "yes" pour :
- double_buffer
On peut aussi rajouter "yes" pour :
- own_window_transparent
Pour que l'option double_buffer fonctionne, le module "dbe" (Double Buffer Extension) doit être activé dans /etc/X11/xorg.conf. On ajoute donc Load "dbe" dans la section Module du xorg.conf après l'avoir sauvegardé :
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.backup sudo xdg-open /etc/X11/xorg.conf
chercher :
Section "Module" ... EndSection
et insérer :
Load "dbe"
dans la liste des modules chargés. Relancer le serveur X (ctrl+alt+backspace) pour que les changements prennent effet.
En cas de problème :
sudo cp /etc/X11/xorg.backup /etc/X11/xorg.conf
Voilà ;)
PS_1 : au cas où ça continue toujours de clignoter, introduire ceci dans .conkyrc /etc/X11/xorg.conf :
Load "glx" Load "dbe" Load "i2c" Load "bitmap" Load "ddc" Load "extmod" Load "freetype" Load "int10" Load "vbe"
Puis, pour vérifier si Conky utilise le double buffer, lancez Conky dans le terminal. Si ces lignes apparaissent :
Conky: failed to set up double buffer Conky: drawing to single buffer
Alors Conky n'utilise pas le double buffer.
PS_2: (ou plus simple, cas perso, ne fonctionne pas si le problème vient de la gestion du double buffer.) Pour supprimer tout clignotement, il faut créer une ligne de "texte pur" légèrement plus large que la plus large des lignes affichées avec des variables ou graph. exemple de ligne texte ajoutée dans .conkyrc (ajuster le nombre de tiret "-" en fonction) : ${color #666666}———————————————————–
Éviter une fenêtre dans la barre des tâches
Deux méthodes :
1. (conky 1.4.2) Il faut rajouter dans le .conkyrc, avant la section TEXT (cette méthode permet de ne pas avoir à lancer un deuxième processus au démarrage) :
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
Les propriétés sont :
- undecorated qui enlève le tour de la fenêtre
- below qui permet de mettre la fenêtre de Conky sous les autres fenêtres
- sticky qui laisse la fenêtre de Conky sur tous les bureaux
- skip_taskbar qui enlève Conky de la barre des tâches
- skip_pager qui enlève Conky du pager (alt-tab)
Ce type ne permet pas de conserver Conky visible lorsque l'on clique sur faire apparaître le bureau. En mettant la ligne :
own_window_type override
On conserve les options évoquées précédemment et en plus on conserve Conky même lorsque l'on clique sur faire apparaître le bureau (il peut y avoir un problème d'affichage des icônes du bureau).
(plus d'info dans le man conky qui est reproduit sur http://conky.sourceforge.net/docs.html).
2. Il faut utiliser le packet devilspie (ce qui nécessite le lancement de conky et devilspie au démarrage ; l'intérêt est que l'on peut gérer plusieurs processus avec devilspie) : installez le paquet devilspie.
Deux méthodes de configuration de devilspie : Pour devilspie ≤ 0.12
Méthode 1 : créer un fichier:
gedit $HOME/.devilspie.xml
Et vous mettez dedans :
<?xml version="1.0"?> <!DOCTYPE devilspie SYSTEM "devilspie.dtd"> <devilspie> <!-- This flurb configures devilspie to watch for a window called "conky" --> <flurb name="conky"> <matchers> <matcher name="DevilsPieMatcherWindowName"> <property name="application_name" value="conky"/> </matcher> </matchers> <!-- The following controls what actions are preformed --> <actions> <!-- Hide conky from the taskbar and the pager --> <action name="DevilsPieActionHide"> <property name="skip-tasklist" value="TRUE"/> <property name="skip-pager" value="TRUE"/> </action> <!-- Show conky on all workspaces --> <action name="DevilsPieActionSetWorkspace"> <property name="pinned" value="TRUE"/> </action> </actions> </flurb> </devilspie>
Méthode 2 :
Créez un dossier caché dans le home :
mkdir ~/.devilspie
Aller dans ce dossier :
cd ~/.devilspie/
Editer le fichier de configuration (on peut lui donner n'importe quel nom) :
gedit conky.ds
Coller les s-expressions utilisées par devilspie (infos supplémentaires sur http://wiki.foosel.net/linux/devilspie). Un fichier classique pour conky serait :
(if (is (application_name) "ubuntu - conky") (begin (pin) (skip_pager) (skip_tasklist) (below) (wintype "dock") ) )
Quelques explications :
- application_name : nom de l'application
- pin : permet de mettre Conky sur tous les bureaux
- skip_pager : Conky n'apparaît pas quand on fait alt-tab
- skip_tasklist : Conky n'apparaît pas dans la barre des tâches
- below : Conky est toujours dessous les autres fenêtres
- wintype "dock" : permet d'avoir Conky encore visible même lorsque l'on clique sur l'icône pour faire apparaître le bureau la classe ultime…
Il est possible qu'il faille adapter le champ application_name. Il y a sûrement une méthode plus simple mais j'ai pas encore trouvé… On fait un fichier test.ds dans le dossier caché devilspie avec dedans :
(debug)
Ensuite on lance l'application dont on cherche le nom (conky dans notre cas). Puis on lance devilspie dans la console. Il apparaît dans la console des informations sur les fenêtres ouvertes en ce moment, donc notre application, il suffit de repérer le nom de conky. Une fois cela fait on efface le fichier test.ds
Puis il faut le charger au démarrage : Système → Préférence → Sessions → Programme au démarrage Cliquez sur Ajouter et vous tapez devilspie
Voilà !
Le conky réapparaît parfois brièvement au premier plan, devant mes applications
J'ai rencontré ce problème avec les Conky de largeur variable (quand on affiche les ports ouverts et l'adresse distante par exemple).
Pour y remédier il faut fixer la largeur du Conky, en spécifiant une largeur minimale et une largeur maximale identiques :
minimum_size 260 maximum_width 260
Mon conky est tronqué
Par défaut la taille du buffer de conky est de 128. Si votre conky comporte une grande quantité de textes et d'images, il est possible que tout ne s'affiche pas correctement.
Pour y remédier il faut rajouter au .conkyrc avant la section TEXT :
text_buffer_size 1024
Conky et Gnome-shell
Sous Gnome-shell pensez à modifier votre conkyrc comme suit :
own_window yes own_window_transparent no own_window_type normal own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager #semi-transparent # own_window_argb_visual yes #couleur du font de conky ex:000000 = noire # own_window_colour 000000 #niveau de transparence # own_window_argb_value 0
Scripts pour votre .conkyrc
Système
Multimédia
La météo
Divers
- Conky GUI un GUI qui permet de générer votre script Conky rapidement
Voir aussi
- (en) Site officiel
(fr) Tutoriel sur le forum PCInpactNe renseigne que l'installation, les liens ne fonctionnent pas…- (en) Réglages
- Pour voir quelques jolis bureaux postés par les utilisateurs et intégrant Conky, découvrir de nouveaux scripts et poser vos questions, vous pouvez consulter ces sujets de discussion sur le forum Ubuntu-fr (les sujets fermés restent bien entendu consultables) :