Outils pour utilisateurs

Outils du site


tuto:linux:conky

Affichage des ressources système : Conky

Ce logiciel libre permet l'affichage d'informations sur le bureau Gnome. Il est entièrement paramétrable.

Pour voir des exemples de configuration de conky, consultez ce topic :

Téléchargement

Pour le télécharger : vous pouvez utiliser Synaptic avec l'outil de recherche ou bien le terminal et apt-get :

sudo apt-get install conky

Configuration

Pour configurer conky, il faut créer un fichier .conkyrc dans votre $HOME

gedit .conkyrc (Ubuntu)
kate .conkyrc (Kubuntu)
mousepad .conkyrc (Xubuntu)

Ici, vous pouvez mettre du code spécial conky, par exemple :

alignment top_right # position
cpu_avg_samples 2 # nombre d'echantillons a utiliser pour calculer la moyenne d'utilisation
net_avg_samples 2 # nombre d'echantillons a utiliser pour calculer la moyenne d'utilisation
update_interval 1.0 # taux de raffraichissement de la fenetre (en secondes)
own_window yes
own_window_transparent yes
own_window_type override
double_buffer yes # pour eviter le cligontement (necessite load "dbe" dans xorg.conf)


TEXT

${color #bbbbbb}$stippled_hr

${color #bbbbbb}${time %A %d %B %Y} - ${time %H:%M:%S}

$sysname $kernel sur $machine $freq_g GHz
${color #bbbbbb}IP Locale : ${color #ffffff}${addr eth0} - ${color #bbbbbb}IP Publique : ${color #ffffff}${execi 1800 wget -O - http://ip.tupeux.com | tail}
${color #bbbbbb}Allumer depuis :${color #ffffff} $uptime
${color #bbbbbb}$stippled_hr
${color #bbbbbb}Usage CPU :${color #ffffff} $cpu% ${color #ffffff} ${cpubar}
${color #ffffff} ${cpugraph ffffff ffffff}
${color #bbbbbb}Usage RAM :${color #ffffff} $mem/$memmax - $memperc% ${membar}
${color #bbbbbb}Processus :${color #ffffff} $processes ${color #ffffff}Running:${color #ffffff} $running_processes

${alignc 0}${color #bbbbbb} PID CPU% MEM%
${color #bbbbbb}CPU usage${color #ffffff}
${color yellow}${top name 1}${alignc 0} ${top pid 1} ${alignc -25}${top cpu 1} ${alignc -46}${top mem 1}${color #ffffff}
${top name 2}${alignc 0} ${top pid 2} ${alignc -25}${top cpu 2} ${alignc -46}${top mem 2}
${top name 3}${alignc 0} ${top pid 3} ${alignc -25}${top cpu 3} ${alignc -46}${top mem 3}
${top name 4}${alignc 0} ${top pid 4} ${alignc -25}${top cpu 4} ${alignc -46}${top mem 4}
${top name 5}${alignc 0} ${top pid 5} ${alignc -25}${top cpu 5} ${alignc -46}${top mem 5}

${color #bbbbbb}Mem usage${color #ffffff}
${color yellow}${top_mem name 1}${alignc 0} ${top_mem pid 1} ${alignc -25}${top_mem cpu 1} ${alignc -46}${top_mem mem 1}${color #ffffff}
${top_mem name 2}${alignc 0} ${top_mem pid 2} ${alignc -25}${top_mem cpu 2} ${alignc -46}${top_mem mem 2}
${top_mem name 3}${alignc 0} ${top_mem pid 3} ${alignc -25}${top_mem cpu 3} ${alignc -46}${top_mem mem 3}
${top_mem name 4}${alignc 0} ${top_mem pid 4} ${alignc -25}${top_mem cpu 4} ${alignc -46}${top_mem mem 4}
${top_mem name 5}${alignc 0} ${top_mem pid 5} ${alignc -25}${top_mem cpu 6} ${alignc -46}${top_mem mem 5}

${color #bbbbbb}$stippled_hr
${color bbbbbb}Ethernet (eth0) :${alignr}DL :${color #ffffff} ${totaldown eth0} ${color bbbbbb}/ UP :${color #ffffff} ${totalup eth0}

${color bbbbbb}Down :${color #ffffff} ${downspeed eth0} k/s${color bbbbbb} ${offset 100}Up:${color #ffffff} ${upspeed eth0} k/s
${color #bbbbbb}$stippled_hr
${color #bbbbbb}Espace Disque :
Principal : ${color #ffffff}${fs_free /}/${fs_size /} ${fs_bar /}
${color #bbbbbb}Home : ${color #ffffff}${fs_free /home}/${fs_size /home} ${fs_bar /home}
${color #bbbbbb}$stippled_hr
${color #bbbbbb}Port(s) ouvert(s) :${color #ffffff}${tcp_portmon 1 65535 count}
${color #ffffff} ${tcp_portmon 1 65535 rhost 0} $alignr${tcp_portmon 1 65535 lservice 0}
${tcp_portmon 1 65535 rhost 1} $alignr${tcp_portmon 1 65535 rport 1}
${tcp_portmon 1 65535 rhost 2} $alignr${tcp_portmon 1 65535 rport 2}
${tcp_portmon 1 65535 rhost 3} $alignr${tcp_portmon 1 65535 rport 3}
${tcp_portmon 1 65535 rhost 4} $alignr${tcp_portmon 1 65535 rport 4}
${tcp_portmon 1 65535 rhost 5} $alignr${tcp_portmon 1 65535 rport 5}
${color #bbbbbb}$stippled_hr

Cette configuration est très simple, mais vous pouvez la modifier, changer les couleurs etc …

Autres exemples

Sur le site officiel : site officiel

Sur le forum ubuntu : http://forum.ubuntu-fr.org/viewtopic.php?id=99471

Exécution

Pour exécuter conky, faites ALT + F2 et vous tapez conky.

Si vous voulez le charger au démarrage : Système → Préférence → Sessions → Programme au démarrage Cliquez sur Ajouter et vous tapez “conky”.

Problèmes rencontrés

Problème de clignotement

Pour éviter le clignotement :

gedit $HOME/.conkyrc

Et vous mettez “yes” pour :

  • own_window
  • 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
gksudo gedit /etc/X11/xorg.conf</code>
chercher <code>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à ;)

Éviter une fenêtre dans la barre des taches

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 taches
  • 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 la plupart des 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 icones 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) :

sudo apt-get install 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'apparait pas quand on fait alt-tab
  • skip_tasklist : conky n'apparait pas dans la barre des taches
  • below : conky est toujours dessous les autres fenêtres
  • wintype “dock” : permet d'avoir conquis encore apparant même lorsque l'on clique 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 surement 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 apparait 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à

Scripts pour votre .conkyrc

AmaroK

Si vous desirez voir sur votre Conky, ce que vous ecoutez sur AmaroK, voici la portion à rajouter dans votre .conkyrc

${if_running amarok}
${color}AmaroK${color white}
${alignc}${execi 10 ~/.conky/amarok artist}
${alignc}${execi 10 ~/.conky/amarok title}
${execibar 1 ~/.conky/amarok progress}
${alignc}"${execi 10 ~/.conky/amarok album}"
${alignc}${execi 10 ~/.conky/amarok year} - ${color white}${alignc}${execi 10 ~/.conky/amarok genre}$endif

Ensuite vous créez un dossier caché dans le home nommé “.conky”

Créez un dossier caché dans le home:

mkdir ~/.conky

Aller dans ce dossier :

cd ~/.conky/

Puis créez un fichier nommé “amarok”

gedit ~/.conky/amarok

Et ajouter :

#!/bin/bash
# amaroK info display script by eirc <eirc.eirc@gmail.com>

case "$1" in

# Now Playing Info
artist) dcop amarok player artist ;;
title) dcop amarok player title ;;
album) dcop amarok player album ;;
year) dcop amarok player year ;;
genre) dcop amarok player genre ;;
progress)
curr=`dcop amarok player trackCurrentTime`
tot=`dcop amarok player trackTotalTime`
if (( $tot )); then
expr $curr \* 100 / $tot
fi
;;

esac

sudo chmod +x ~/.conky/amarok

Voila :)

Problèmes

clignotements

Si vous avez des problèmes de clignotements, ajoutez dans /etc/X11/xorg.conf :

Load "dbe"

Puis ajouter dans votre .conkyrc :

double_buffer yes

Ecran noir

Si vous avez un écran noir avec ces options :

own_window yes
own_window_transparent yes
own_window_type override
double_buffer yes

lancez alors ce script au démarrage de votre session :

#!/bin/bash
OLDWALLPAPER=`dcop kdesktop KBackgroundIface currentWallpaper 1`
killall conky
conky&
sleep 5
dcop kdesktop KBackgroundIface setBackgroundEnabled false
sleep 1 && dcop kdesktop KBackgroundIface setBackgroundEnabled true
dcop kdesktop KBackgroundIface setWallpaper "$OLDWALLPAPER" 7

J'ai remarqué que l'écran noir disparaissait lorsque l'on changeait de fond décran, le script ci-dessus reload votre wallpaper, donc votre conky restera noir que quelques secondes !

Liens

tuto/linux/conky.txt · Dernière modification: 2009/03/15 11:29 par root