Logiciels

Conky, des variables système sur le bureau !

Table des matières

conky_logo


Introduction



Cet article illustre juste le conky que j'ai sur mon bureau, avec son fichier de configuration.

Cet article permet de vous donner une vue d'un fichier de configuration fonctionnel. Les lignes de commande affichant les informations radio, le mot du jour (toutes les commandes avec un wget) peuvent ne plus fonctionner si le site a changé entre la publication du conky et maintenant. A vous d'adapter la configuration.

La configuration



Tout se passe dans le fichier .conkyrc situé dans /home/$USER !

Voici d'abord la doc officielle sur les variables http://conky.sourceforge.net/variables.html

Depuis la version 1.10 de Conky, la syntaxe du fichier de config est en LUA. Voici le squelette de base :

Code BASH :
conky.config = {
  background = true,
    own_window = true,
    own_window_class = 'Conky',
    own_window_transparent = false,
    own_window_type = 'desktop',
    own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
    own_window_argb_visual = true,
    own_window_argb_value = 0,
    double_buffer = true,
    no_buffers = true,
    use_spacer = 'none',
    use_xft = true,
    xftalpha = 1,
    font = 'Sans:size=10',
    update_interval = 1,
    uppercase = false,
    override_utf8_locale = true,
    stippled_borders = 1,
    border_width = 5,
    draw_borders = false,
    draw_graph_borders = true,
    draw_outline = false,
    draw_shades = false,
    show_graph_scale = true,
    show_graph_range = true,
    alignment = 'top_left',
    gap_x = 10,
    gap_y = 10,
    net_avg_samples = 1,
    cpu_avg_samples = 6,
    short_units = true,
    pad_percents = 2,
    text_buffer_size = 2048,
    out_to_console = false,
    out_to_stderr = false,
    extra_newline = false,
}
conky.text = [[
XXXXXXXXXXXXXXXXXX
]]


Les variables sont assez explicites avec leur nom.

Là où il y a des XXX c'est à vous de personnaliser et c'est ce qui fa s'afficher sur le bureau.

Voici quelques variables dans le texte intéressantes :
${font Droid Sans Mono:size=9} : Permet de définir la police après cette balise
${color black} : Permet de définir la couleur du texte derrière cette balise. Les couleurs sont red,green,yellow,blue,magenta,cyan,black,white ou code hexadécimal
${goto 250} : Décale de 250px
${texeci 900 cat /etc/gentoo-release} : Permet d"exécuter la commande cat /etc/gentoo-release toutes les 900 secondes
$mem $memmax $memperc% : Variables mémoire utilisée, total, utilisée en %
${fs_used /home} ${fs_size /home} ${fs_used_perc /home} : Variable de système de fichiers (on indique le point de montage, ici /home) utilisé, total, utilisé en %
${addr eth0} ${downspeedf eth0} ${upspeedf eth0} : Variable interface réseau (on indique le nom de l'interface) adresse IP, débit descendant (kb/s), débit montant (kb/s)

Lorsque vous éditez votre fichier de configuration, à chaque enregistrement, conky recharge le fichier automatiquement et applique les changements de suite !

Lancer conky au démarrage de la session



Pour que conky se démarre quand la session est ouverte, il suffit de l'ajouter aux applications lancées au démarrage.

Sinon, vous pouvez créer un fichier Conky.desktop dans ~/.config/autostart/ et y indiquer :

Code BASH :
[Desktop Entry]
Type=Application
Exec=conky
X-GNOME-Autostart-enabled=true
NoDisplay=false
Hidden=false
Name[fr_FR]=Conky
Comment[fr_FR]=Conky
X-GNOME-Autostart-Delay=0



Exemple Conky 2020



Voici un aperçu graphique de mon conky en Mars 2020 :

conky-2020

Et voici le contenu du fichier de config :

Code :

conky.config = {
  background = true,
    own_window = true,
    own_window_class = 'Conky',
    own_window_transparent = false,
    own_window_type = 'desktop',
    own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
    own_window_argb_visual = true,
    own_window_argb_value = 0,
    double_buffer = true,
    no_buffers = true,
    use_spacer = 'none',
    use_xft = true,
    xftalpha = 1,
    font = 'Sans:size=10',
    update_interval = 1,
    uppercase = false,
    override_utf8_locale = true,
    stippled_borders = 1,
    border_width = 5,
    draw_borders = false,
    draw_graph_borders = true,
    draw_outline = false,
    draw_shades = false,
    show_graph_scale = true,
    show_graph_range = true,
    alignment = 'top_left',
    gap_x = 10,
    gap_y = 10,
    net_avg_samples = 1,
    cpu_avg_samples = 6,
    short_units = true,
    pad_percents = 2,
    text_buffer_size = 2048,
    out_to_console = false,
    out_to_stderr = false,
    extra_newline = false,
}
conky.text = [[
${font Droid Sans Mono:size=9}
${color black}SYSTEM:${color #510289}
${color black}Distribution:${color #510289} ${texeci 900 cat /etc/gentoo-release} ${color black}with kernel${color #510289} $kernel 
${color black}Uptime:${color #510289} $uptime  ${goto 250}${color black}Load average:${color #510289} $loadavg
${color black}RAM: ${color #510289} $mem / $memmax ($memperc%)  ${goto 250}${color black}SWAP: ${color #510289} ${swap} / ${swapmax} (${swapperc}%)
${color black}CPU: ${color #510289}${texeci 2 sensors | grep "CPUTIN"| awk '{ print $2}'} - ${color black}FAN: ${color #510289}${texeci 2 sensors | grep fan3 | awk '{ print $2}'} tr/mn ${goto 250}${color black}GPU: ${color #510289}${texeci 2 sensors | grep "edge"| awk '{ print $2}'} - ${color black}FAN: ${color #510289}${texeci 2 sensors | grep fan1 | head -1 | awk '{ print $2}'} tr/mn 
${color black}Root: ${color #510289}${fs_used /} / ${fs_size /} (${fs_used_perc /}%) ${goto 250}${color black}/boot: ${color #510289}${fs_used /boot} / ${fs_size /boot} (${fs_used_perc /boot}%) 
${color black}/home: ${color #510289}${fs_used /home} / ${fs_size /home} (${fs_used_perc /home}%) ${goto 250}${color black}DATA: ${color #510289}${fs_used /media/DATA} / ${fs_size /media/DATA} (${fs_used_perc /media/DATA}%)
${color black}SDD: ${color #510289}${texeci 2 echo $(($(udisksctl dump /dev/sda | grep Temp | tail -1 | awk '{ print $2 ; }' | cut -d'.' -f1)-273))°C} ${goto 250}${color black}HDD: ${color #510289}${texeci 2 echo $(($(udisksctl dump /dev/sdb | grep Temp | head -2 | tail -1 | awk '{ print $2 ; }' | cut -d'.' -f1)-273))°C}  
${color black}IP eth0 : ${color #510289}${addr eth0} ${goto 250}${color black}DL:${color #510289} ${downspeedf eth0}k/s ${goto 350} ${color black}UP:${color #510289} ${upspeedf eth0}k/s
${color black}EPHEMERIDE :${color #510289}
${color black}Nous sommes le ${color #510289}${texeci 1000 date "+%A %d %B %Y" }
${color black}Fête du jour : ${color #510289}${texeci 1000 wget -O - -q  http://fetedujour.fr/  --user-agent="Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0" | grep "<span>Fête du jour" | head -1 | cut -d">" -f4 | cut -d"<" -f1 | sed -e 's/Nativité/Adrien/' }
${color black}Mot du jour : ${color #510289}${texeci 1000 wget -O - -q http://www.wikebec.org/ | grep fas | cut -d">" -f5 | cut -d"<" -f1} ${color black}: ${color #510289}${texeci 1000 wget -O - -q http://www.wikebec.org/ | grep '<li>' | tail -1 | cut -d'>' -f2 | cut -d'<' -f1}
${color black}Météo : ${color #510289}${texeci 3600 curl -s 'wttr.in/dijon?qT0&lang=fr' | head -7}
${color black}DIFFUSION FM MAISON (108.0 FM) :${color #510289}
${color black}Programmation actuelle : ${color #510289}${texeci 30 wget -O - -q http://cluster.linuxtricks.fr/radio/api/prog.php }
${color black}En ce moment : ${color #510289}${texeci 30 wget -O - -q http://cluster.linuxtricks.fr/radio/api/song.php}
${color black}DIVIA TOTEM :${color #510289}
${color black}BUS : ${color #510289}${texeci 20 /home/adrien/.adrien/divia-totem-parser/divia-totem-parser.pl -l=90 -a=688 }
${color black}TRAM : ${color #510289}${texeci 20 /home/adrien/.adrien/divia-totem-parser/divia-totem-parser.pl -l=96 -a=1477 }
${color black}TRAM : ${color #510289}${texeci 20 /home/adrien/.adrien/divia-totem-parser/divia-totem-parser.pl -l=185 -a=1510 }
${color black}TRAM : ${color #510289}${texeci 20 /home/adrien/.adrien/divia-totem-parser/divia-totem-parser.pl -l=81 -a=1576 }
${color black}TRAM : ${color #510289}${texeci 20 /home/adrien/.adrien/divia-totem-parser/divia-totem-parser.pl -l=82 -a=1542 }
${color black}PENSE BETE :${color #510289}
${texeci 60 cat /home/adrien/notes }
]]


Au format texte : conkyrc.txt

Archives Conky 2016



Si vous avez un vieux conky (1.9) c'est l'ancienne syntaxe qu'il faut utiliser. Je vous laisse mon conky de 2016.

conky_2016

Le fichier de config :

Code TEXT :
background yes
use_xft yes
xftfont Sans:size=10
xftalpha 1
update_interval 1.0
total_run_times 0
own_window yes
own_window_transparent yes
own_window_argb_visual yes
own_window_type normal
own_window_hints undecorated,below,skip_taskbar,skip_pager,sticky
double_buffer yes
minimum_size 800 500
maximum_width 500
text_buffer_size 2000
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no
default_color white
default_outline_color white
alignment top_left
gap_x 10
gap_y 10
no_buffers yes
uppercase no
cpu_avg_samples 2
override_utf8_locale yes
#
color1 white
#
color2 orange 
#
color3 white
#
color4 lightblue
#cornflowerblue
# Lua Load #
#lua_load ~/.conky/ring.lua
#lua_draw_hook_pre clock_rings
TEXT
${font Sans:size=8}${color3}SYSTEM : 
¨¨¨¨¨¨¨¨${color2}
${color3}OS : ${color2}${exec lsb_release -d | cut -f2 }
${color3}Kernel: ${color2}${exec uname -r} ${goto 160}${color3}Arch: ${color2}$machine 
${color3}Uptime:${color2} $uptime ${goto 160}${color3}Load:${color2} $loadavg
${color3}Processes: ${color2} $processes${color3}${goto 160}Running Processes: ${color2} $running_processes
${color3}Battery:  ${color2} ${exec acpi -b | awk '{ print "State : " $3 "  Capacity : "$4 "  (" $5 ")"}'}
${color3}CPU : 
¨¨¨¨¨${color2}
${color3}Clock frequency :${color2} ${freq_g} GHz
${color3}Core 0 and 4:${color2} ${cpu cpu0}%${goto 110}${color4}${cpubar cpu0 6,60}${color2}${goto 190}${exec expr `sensors | grep 'Core 0' | cut -d+ -f2 | cut -d\( -f1 | cut -d. -f1`}°C 
${color3}Core 1 and 5:${color2} ${cpu cpu1}%${goto 110}${color4}${cpubar cpu1 6,60}${color2}${goto 190}${exec expr `sensors | grep 'Core 1' | cut -d+ -f2 | cut -d\( -f1 | cut -d. -f1`}°C
${color3}Core 2 and 6:${color2} ${cpu cpu2}%${goto 110}${color4}${cpubar cpu2 6,60}${color2}${goto 190}${exec expr `sensors | grep 'Core 2' | cut -d+ -f2 | cut -d\( -f1 | cut -d. -f1`}°C
${color3}Core 3 and 7:${color2} ${cpu cpu3}%${goto 110}${color4}${cpubar cpu3 6,60}${color2}${goto 190}${exec expr `sensors | grep 'Core 3' | cut -d+ -f2 | cut -d\( -f1 | cut -d. -f1`}°C
${color3}CPU Fan Speed: ${color2} ${exec sensors | grep cpu_fan | awk '{ print $2 " tr/mn"; }'}
${color3}MEMORY : 
¨¨¨¨¨¨¨¨${color2}
${color3}RAM:${goto 40}${color2} $mem / $memmax ${goto 170}$memperc%
${color3}SWAP:${goto 40}${color2} ${swap} / ${swapmax} ${goto 170} ${swapperc}%
${color3}STORAGE :
¨¨¨¨¨¨¨¨¨${color2}
${color3}Root ${color2}${goto 50}${fs_used /} / ${fs_size /} ${goto 170}${fs_used_perc /}%
${color3}Home ${color2}${goto 50}${fs_used /home} / ${fs_size /home} ${goto 170}${fs_used_perc /home}%
${color3}Var-cl ${color2}${goto 50}${fs_used /var/calculate} / ${fs_size /var/calculate} ${goto 170}${fs_used_perc /var/calculate}% 
${color3}DATA ${color2}${goto 50}${fs_used /media/DATA} / ${fs_size /media/DATA} ${goto 170}${fs_used_perc /media/DATA}% 
#
#${color3}Temp HDD : ${color2}${texeci 60 /usr/sbin/hddtemp /dev/sdb 2>/dev/null | grep sdb | awk  '{ print $5 }' }
${color3}NETWORK : 
¨¨¨¨¨¨¨¨¨${color2}
${color3}eth : ${color2}${addr eth0} ${goto 120}${color3}DL :${color2} ${downspeedf eth0}k/s ${goto 210} ${color3}UP :${color2} ${upspeedf eth0}k/s
${color3}wlan : ${color2}${addr wlan0} ${goto 120}${color3}DL :${color2} ${downspeedf wlan0}k/s ${goto 210} ${color3}UP :${color2} ${upspeedf wlan0}k/s
${color3}Public IP : ${color2}${texeci 1000 wget http://checkip.dyndns.org -O - -o /dev/null | cut -d : -f 2 | cut -d \< -f 1} ${goto 175} ${color3}Latence : ${color2}${texeci 1 ping 8.8.8.8 -c 1 | grep time= | cut -d"=" -f4}
${color3}EPHEMERIDE : 
¨¨¨¨¨¨¨¨¨¨¨¨${color2}
${color3}Date : ${color2}${texeci 1000 date "+%A %d %B %Y"}
${color3}Heure : ${color2}${exec date "+%H:%M"}
${color3}Fête du jour : ${color2}${texeci 1000 wget -O - -q  http://fetedujour.fr/  --user-agent="Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0" | grep "<span>Fête du jour" | head -1 | cut -d">" -f4 | cut -d"<" -f1 }
${color3}Mot du jour : ${color2}${texeci 1000 wget -O - -q http://www.wikebec.org/ | grep accueil-mdj-title | cut -d">" -f10 | cut -d"<" -f1} ${color3}: ${color2}${texeci 1000 wget -O - -q http://www.wikebec.org/ | grep accueil-mdj-title | cut -d">" -f13 | cut -d"<" -f1}
${color3}MUSIQUE :
¨¨¨¨¨¨¨¨¨¨${color2}
${color3}Dernièrement sur FUN : ${color2}${texeci 20 wget -O - -q http://www.funradio.fr/quel-est-ce-titre | grep -E '(class="song-artist"|class="song-title")' | head -2 | sed -e 'N;s/\n/ /' -e 's/>/\|/g' -e 's/</\|/g' | awk -F'|' '{ print $3 " - " $7}'}
 
Cette page a été vue 21853 fois