Salut,

Comme je viens de refaire le mien j'en profite pour partager mon expérience dessus.

Conky est un outil de monitoring léger, pour Linux, pour X. Donc ça veut dire que vous l'utilisez pour afficher des informations d'une machine Linux sur un bureau Linux (ou -presque- Android). Comment perdre 80% de lecteurs d'un coup 😛

On peut y afficher énormément d'informations telles que charges CPU/RAM, réseaux, espaces disques, indicateurs nVidia, indicateurs de nouveaux emails et on peut même s'en servir pour créer des boutons cliquables.
En gros sa limite est plus personnelle, imaginative, que technique.


Voici ma dernière version


Installation
Normalement trouvable dans les gestionnaires de paquets de chaque distribution, je vous laisse regarder chez vous (conky). Moi j'ai la version ArchLinux.
Sachez qu'il existe aussi un Manager, qui permet de gérer plus simplement ses thèmes (activation ou non, modification...). Là encore, dispo sur ArchLinux.


Comment ça marche
Vous pouvez soit créer entièrement le vôtre soit en utiliser qui sont déjà publiés. J'ai commencé comme ça avant de les modifier puis de créer le mien dont je donne le code par la suite.
On trouve des codes partout, voici quelques liens parmi d'autres :
- GitHub officiel
- ElementaryOS
- DevianArt


Pour apprendre à le modifier le mieux est encore de lire les docs officielles, ou non voire le (fabuleux) Wiki ArchLinux. Tout repose sur ces variables, disponibles ou non selon le matériel et l'OS.
Puis il faut ensuite éditer un code déjà fait afin de comprendre comment il fonctionne, quelles infos donnent telle ou telle variable sur son PC etc. Quand on débute faut y aller à tâtons


Étant passé par cette étape j'avais expliqué en détails le fonctionnement d'un de mes codes.
Voici le rendu (désolé du watermark mais je me faisais piquer mes tutos/images...)
Voici le code
#==============================================================================
#                               conky_Aerya
# Date    : 29/10/2015
# Author  : Aerya
# Version : v0.2
# License : Distributed under the terms of GNU GPL version 2 or later
#
# https://upandclear.org/2015-10-30/conky-le-retour/
#
#==============================================================================

background yes
update_interval 1

cpu_avg_samples 1
net_avg_samples 2
temperature_unit celsius

double_buffer yes
no_buffers yes
text_buffer_size 2048
override_utf8_locale yes
use_xft yes
xftfont caviar dreams:size=10
xftalpha 0.5
uppercase no
update_interval 1

gap_x 1550
gap_y 20
minimum_size 300 900
maximum_width 350

own_window yes
own_window_type normal
own_window_transparent no
own_window_argb_visual yes
own_window_argb_visual yes
own_window_colour 000000
own_window_argb_value 230
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below

border_inner_margin 0
border_outer_margin 0
alignment top_left

draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no

# Couleurs
default_color FFFFFF
color1 Green #vert
color2 Red #rouge


TEXT

${font Ubuntu:size=8,weight:bold}${color}${alignc}${time %a} ${time %e %B %G} - ${color #6495ed}${time %H:%M:%S}

${font size=10,weight:bold}${color}Système ${color #6495ed}${hr 2}
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}${execi 86400 lsb_release -si} : ${alignr}${color}${execi 86400 lsb_release -sr} - ${execi 86400 lsb_release -sc}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Kernel : ${alignr}${color}$kernel  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Machine : ${alignr}${color}$nodename  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Uptime : ${alignr}${color}$uptime  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Processus : ${alignr}${color}$processes  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Charge : ${alignr}${color}$loadavg  


${font size=10,weight:bold}${color}Processeur ${color #6495ed}${hr 2}
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}${exec cat /proc/cpuinfo | grep 'model name' | cut -c 14-42 | uniq} :${alignr}${color}${freq_g}GHz . ${cpu}% . ${hwmon 0 temp 1}°C  
${offset 7}${color #6495ed}Core1 : ${color}${cpu cpu1}% $alignr ${exec awk '/cpu MHz/{i++}i==1{printf "%.f",$4; exit}' /proc/cpuinfo}MHz $alignr ${color #6495ed}${cpubar cpu1 6,150}  
${offset 7}${color #6495ed}Core2 : ${color}${cpu cpu2}% $alignr ${exec awk '/cpu MHz/{i++}i==2{printf "%.f",$4; exit}' /proc/cpuinfo}MHz $alignr ${color #6495ed}${cpubar cpu2 6,150}  
${offset 7}${color #6495ed}Core3 : ${color}${cpu cpu3}% $alignr ${exec awk '/cpu MHz/{i++}i==3{printf "%.f",$4; exit}' /proc/cpuinfo}MHz $alignr ${color #6495ed}${cpubar cpu3 6,150}  
${offset 7}${color #6495ed}Core4 : ${color}${cpu cpu4}% $alignr ${exec awk '/cpu MHz/{i++}i==4{printf "%.f",$4; exit}' /proc/cpuinfo}MHz $alignr ${color #6495ed}${cpubar cpu4 6,150}  
${offset 7}${color #6495ed}Core5 : ${color}${cpu cpu5}% $alignr ${exec awk '/cpu MHz/{i++}i==5{printf "%.f",$4; exit}' /proc/cpuinfo}MHz $alignr ${color #6495ed}${cpubar cpu5 6,150}  
${offset 7}${color #6495ed}Core6 : ${color}${cpu cpu6}% $alignr ${exec awk '/cpu MHz/{i++}i==6{printf "%.f",$4; exit}' /proc/cpuinfo}MHz $alignr ${color #6495ed}${cpubar cpu6 6,150}  
${offset 7}${color #6495ed}Core7 : ${color}${cpu cpu7}% $alignr ${exec awk '/cpu MHz/{i++}i==7{printf "%.f",$4; exit}' /proc/cpuinfo}MHz $alignr ${color #6495ed}${cpubar cpu7 6,150}  
${offset 7}${color #6495ed}Core8 : ${color}${cpu cpu8}% $alignr ${exec awk '/cpu MHz/{i++}i==8{printf "%.f",$4; exit}' /proc/cpuinfo}MHz $alignr ${color #6495ed}${cpubar cpu8 6,150}  

${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Top 3${alignr}   CPU    
${offset 7}${font Ubuntu:size=8,weight:normal}${color #e09495}${top name 1}${alignr}${top cpu 1}%  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #e0d094}${top name 2}${alignr}${top cpu 2}%  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #006633}${top name 3}${alignr}${top cpu 3}%  


${font size=10,weight:bold}${color}Mémoire ${color #6495ed}${hr 2}
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Utilisée : ${alignr}${color}$mem${color #6495ed}/$memmax  
${offset 7}${font Ubuntu:size=8,weight:normal}${color}$memperc%${color #6495ed}${alignr}${membar 6,150}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Swap : ${alignr}${color}$swap${color #6495ed}/$swapmax  
${offset 7}${font Ubuntu:size=8,weight:normal}${color}$swapperc% ${color #6495ed}${alignr}${swapbar 6,150}  

${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Top 3${alignr}   RAM   
${offset 7}${font Ubuntu:size=8,weight:normal}${color #e09495}${top_mem name 1}${alignr}${top_mem mem 1}%  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #e0d094}${top_mem name 2}${alignr}${top_mem mem 2}%  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #006633}${top_mem name 3}${alignr}${top_mem mem 3}%  


${font size=10,weight:bold}${color}Stockage ${color #6495ed}${hr 2}
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Home : ${alignr}${color}${fs_used /home}${color #6495ed}/${fs_size /home}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}${color}${fs_free_perc /home}% libres${alignr}${color #6495ed}${fs_bar 6,150 /home}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Cloud : ${alignr}${color}${fs_used /mnt/FON}${color #6495ed}/${fs_size /mnt/FON}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}${color}${fs_free_perc /mnt/FON}% libres${alignr}${color #6495ed}${fs_bar 6,150 /mnt/FON}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Kodi : ${alignr}${color}${fs_used /mnt/Films}${color #6495ed}/${fs_size /mnt/Films}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}${color}${fs_free_perc /mnt/Films}% libres${alignr}${color #6495ed}${fs_bar 6,150 /mnt/Films}  


${font size=10,weight:bold}${color}Réseau ${color #6495ed}${hr 2}
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Download : ${alignc}$color${downspeed enp0s25} / ${totaldown enp0s25}${alignr}${color #6495ed}${downspeedgraph enp0s25 10,130 6495ed ff5c2b}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Upload :     ${alignc}$color${upspeed enp0s25} / ${totalup enp0s25}${alignr}${color #6495ed}${upspeedgraph enp0s25 10,130 6495ed 77b753}  

${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Locale : ${alignr}${color0}${addr enp0s25}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Docker : ${alignr}${if_running docker}${color0}${addr docker0}${color2} - ${color 77B753}Up${else}${color2} - ${color FF0000} ∆ ${endif}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Tor : ${alignr}${if_running tor}${color0}${exec torsocks wget -qO- http://ipecho.net/plain 2> /dev/null ; echo }${color2} - ${color 77B753}Up${else}${color2} - ${color FF0000} ∆ ${endif}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}VPN : ${alignr}${if_up tun0}${color0}${addr tun0}${color2} - ${color 77B753}Up${else}${color2} - ${color FF0000} ∆ ${endif}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Publique : ${alignr}${color0}${execi 1800 wget -qO- http://ipecho.net/plain 2> /dev/null ; echo }  


${font size=10,weight:bold}${color}Serveurs ${color #6495ed}${hr 2}
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}ZNC :${alignr}${color}Tor/${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}${color} - ${color}Clair/${alignr}${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}XMPP :${alignr}${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}UpAndClearOrg :${alignr}${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Projet :${alignr}${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Usenet :${alignr}${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Test Online :${alignr}${if_match "{execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Test OneProvider :${alignr}${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}  
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}VPN : ${alignr}${color}F1/${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}${color} - F2/${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}${color} - W/${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}${color} - S/${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}${color} - D/${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}∆${endif}${color} 
Et le script ping.sh (mentionné plus bas)
#!/bin/bash

if sudo ping -c 1 -W 2 $1 > /dev/null; 
then 
	echo "1"
else 
	echo "0"
fi



Voici les explications qui vous permettront, j'espère, de mieux appréhender cet outil.

Bloc de configuration
#==============================================================================

...
TEXT
Cette partie est la configuration du rendu visuel de Conky : emplacement, taille, police par défaut, couleur par défaut, délai de mise à jour (update_interval 1 = chaque seconde). Dans Conky toutes les durées sont exprimées en secondes.





Exemples de variables/code
${font Ubuntu:size=8,weight:bold}${color}${alignc}${time %a} ${time %e %B %G} - ${color #6495ed}${time %H:%M:%S}
Le plus simple est de définir le rendu de chaque ligne écrite :

${font Ubuntu:size=8,weight:bold} : police Ubuntu (n’importe quelle police installée sur votre système sera prise en compte), taille 8, en gras (normal pour… normal)
${color} : couleur. Si ${color} alors couleur de base, si ${color #6495ed} alors en bleu (couleur hexadécimale)
${alignc} : alignement du texte ou du graphique qui va suivre cette variable. c pour centrer, r pour droite et l pour gauche

${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}${execi 86400 lsb_release -si} : ${alignr}${color}${execi 86400 lsb_release -sr} - ${execi 86400 lsb_release -sc} 
Ici j’ai utilisé la commande lsb-release pour afficher des informations sur ma distribution :

execi 86400 : exécution de la commande qui suit toutes les 86400 secondes. Pas forcément utile si le PC est éteint/allumé tous les jours ou en tous cas une fois par mois
lsb_release : commande à exécuter, suivi de son paramètre. Ce qui m’affiche bien ma distribution, sa version et son nom
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}${exec cat /proc/cpuinfo | grep 'model name' | cut -c 14-42 | uniq} :${alignr}${color}${freq_g}GHz . ${cpu}% . ${hwmon 0 temp 1}°C 
Je souhaite l’affichage automatique du modèle de mon processeur et de ses informations temps réel :

${exec cat /proc/cpuinfo | grep ‘model name’ | cut -c 14-42 | uniq} : affichage du modèle du processeur détecté par l’OS. Le uniq force l’affichage d’un seul, sinon il me sort l’info autant de fois qu’il compte de cœurs
${freq_g}GHz : fréquence d’horloge avec son unité de mesure (qui n’est pas automatique)
${cpu}% : pourcentage d’utilisation, là encore ajouter le symbole de mesure
${hwmon 0 temp 1}°C: sa température + unité de mesure
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Utilisée : ${alignr}${color}$mem${color #6495ed}/$memmax 
Affichage de la mémoire utilisée/libre, en quantité

${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed} : début de ligne à 7 pixels vers la droite pour l’esthétique (subjective, oui), police Ubuntu en taille 8 et normale, couleur bleue
Utilisée : texte à afficher à 7 pixels du bord, en Ubuntu/8, bleu
${alignr}${color} : alignement à droite, couleur de base
$mem : mémoire utilisée, qui est affichée directement en GiB
${color #6495ed}/$memmax : mémoire physique disponible, affichée en bleu
${offset 7}${font Ubuntu:size=8,weight:normal}${color}$memperc%${color #6495ed}${alignr}${membar 6,150}
Je voulais afficher un graphique, de la mémoire utilisée/totale et qu’il soit aligné à droite :

${offset 7}${font Ubuntu:size=8,weight:normal}${color} : début de ligne à 7 pixels vers la droite pour l’esthétique (subjective, oui), police Ubuntu en taille 8 et normale, couleur de base
$memperc% : affichage de la mémoire utilisée en pourcentage (perc), valeur à laquelle il faut ajouter l’unité de mesure (GHz, MHz, %), ici %
${alignr} : alignement à droite de ce qui suit, le graphique
${membar 6,150} : graphique de la mémoire, de 6 pixels de haut sur 150 de large

${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Docker : ${alignr}${if_running docker}${color0}${addr docker0}${color2} - ${color 77B753}Up${else}${color2} - ${color FF0000}${endif} 
Pour Docker et d’autres services je souhaite afficher un statut et/ou une IP s’il est actif et un indicateur plutôt flashy en cas d’inactivité.

${if_running docker} : si le service, ici Docker, est activé
${addr docker0}${color2} – ${color 77B753}Up: alors afficher l’IP Docker et Up en vert
${else} : sinon, si Docker n’est pas activé
${color FF0000} ∆: afficher le symbole ∆ en rouge
${endif} : fin de la condition if (if else endif)





Bloc des IP
Afin d’avoir un rapide aperçu de ma configuration réseau j’ai voulu lister les différents services installés et leurs IP s’ils sont actifs.

Locale :
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Locale : ${alignr}${color0}${addr enp0s25} 
${addr enp0s25} : ma carte réseau utilisée se nomme enp0s25. Vous devrez remplacer ce nom par celui de votre interface réseau nécessaire listée via la commande (en terminal) ifconfig.

Docker :
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Docker : ${alignr}${if_running docker}${color0}${addr docker0}${color2} - ${color 77B753}Up${else}${color2} - ${color FF0000}${endif}  
Si vous montez des containers locaux il est utile d’en avoir les IP « sous la main ». Explications déjà données pour le code.

Tor :
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Tor : ${alignr}${if_running tor}${color0}${exec torsocks wget -qO- http://ipecho.net/plain 2> /dev/null ; echo }${color2} - ${color 77B753}Up${else}${color2} - ${color FF0000}${endif}  
Afin de pouvoir surfer sur le réseau Tor j’ai installé un proxy local. Et non un relais, il n’y a donc que mon trafic qui l’utilise.
${exec torsocks wget -qO- http://ipecho.net/plain 2> /dev/null ; echo } : le site http://ipecho.net/plain permet de visualiser son IP. Mais comme je veux afficher celle utilisée par Tor, je dois faire ma requête à ce site via mon proxy sans quoi je n’affiche que mon IP normale. Je lance donc la requête via torsocks.

VPN :
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}VPN : ${alignr}${if_up tun0}${color0}${addr tun0}${color2} - ${color 77B753}Up${else}${color2} - ${color FF0000}${endif}  
Il m’importe de savoir en permanence si mon VPN est bien activé ou non. Aussi j’affiche le retour de l’interface virtuelle tun0 (le tunnel créé par le client OpenVPN sur le PC pour router le trafic via le VPN) afin de savoir si le service est bien lancé et, pour mes petites affaires personnelles, quelle IP interne m’est attribuée par le serveur VPN (10.8.0.6 ici).

Publique (VPN bis) :
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Publique : ${alignr}${color0}${execi 1800 wget -qO- http://ipecho.net/plain 2> /dev/null ; echo }  
Afin de confirmer que je suis bien connecté via un VPN, et de savoir lequel vu que j’en utilise plusieurs, je fais toutes les 1800 secondes une requête au site http://ipecho.net/plain (mais cette fois-ci sans passer par le proxy Tor) afin de visualiser mon IP publiée sur Internet et donc visible de tous les sites que je fréquente.




Bloc des serveurs
J’ai le plaisir d’avoir plusieurs serveurs personnels. Je ne liste pas ici les « pro ».
Dans l’optique d’être réactif, ou juste informé, j’ai voulu afficher quasi en temps réel le rendu d’un ping vers chacun d’eux afin de savoir s’ils sont bien en ligne ou non. C’est là que j’utilise le script ping.sh. En effet Conky ne permettant pas d’obtenir directement l’information je lui demande simplement d’afficher le retour du ping généré par le script pour chaque IP entrée dans .conky.rc et de retranscrire cette information en Up vert ou ∆ rouge.

Exemple du bouncer ZNC :
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}ZNC :${alignr}${color}Tor/${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}${endif}${color} - ${color}Clair/${alignr}${if_match "${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111}" != "0"}${color 77B753}Up${else}${color FF0000}${endif} 

J’ai 2 bouncers IRC : un sur Tor et un en « clair », c’est-à-dire qui ne sort pas sur Tor. Le 1er permet de masquer l’IP du bouncer (du serveur qui le fait tourner), pour préserver mon anonymat, tout comme de me connecter à des serveurs IRC hébergés sur Tor. Le 2nd est utilisé pour se connecter à des serveurs IRC qui justement refusent Tor. Ils sont fort heureusement peu nombreux, il n’y a pas que des pirates/pédophiles/terroristes qui utilisent Tor…

« ${execi 1800 ~/Documents/Conky/ping.sh 111.111.111.111} » : je demande à Conky d’utiliser le script de ping toutes les 1800 secondes sur l’IP indiquée à la suite
Le script va envoyer une requête à la machine et indiquer « 1 » s’il ping et « 0 » s’il ne ping pas (cf le code du script ping.sh au début)
${if_match / != « 0 »}${color 77B753}Up : si le résultat du script est différent de 0 (!= voulant dire « différent de ») alors Conky va afficher un Up vert
${else}${color FF0000}∆ : si au contraire le résultat du script est 0 Conky va afficher un ∆ rouge car ça indique que le serveur est hors ligne





Données à modifier obligatoirement pour les adapter à votre configuration
Il est évident que nous n’avons pas les mêmes configurations PC, réseau etc. Il convient donc de retirer/ajouter des éléments de votre Conky et d’en modifier d’autres afin de les adapter à vos besoins :

Pourcentage d’utilisation des cœurs :
${offset 7}${color #6495ed}Core1 : ${color}${cpu cpu1}% $alignr ${exec awk '/cpu MHz/{i++}i==1{printf "%.f",$4; exit}' /proc/cpuinfo}MHz $alignr ${color #6495ed}${cpubar cpu1 6,150} 
Ayant 8 cœurs j’affiche Core1 à Core8 et cpu1 à cpu8.

Disques locaux et/ou montés :
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Cloud : ${alignr}${color}${fs_used /mnt/FON}${color #6495ed}/${fs_size /mnt/FON}  
    ${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}${color}${fs_free_perc /mnt/FON}% libres${alignr}${color #6495ed}${fs_bar 6,150 /mnt/FON}  
Je ne m’intéresse en local qu’à ma partition /home et n’ai monté que 2 disques distants : /mnt/FON pour mon Cloud et /mnt/Films pour le NAS qui alimente mon lecteur vidéo Kodi sur la TV.

Interfaces réseau. Je suis connecté à mon routeur en câble Ethernet :
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Download : ${alignc}$color${downspeed enp0s25} / ${totaldown enp0s25}${alignr}${color #6495ed}${downspeedgraph enp0s25 10,130 6495ed ff5c2b}  
Ma carte réseau utilisée se nomme enp0s25. Vous remplacerez ce nom par celui de votre interface réseau nécessaire listée via la commande (en terminal) ifconfig

Serveurs :
${offset 7}${font Ubuntu:size=8,weight:normal}${color #6495ed}Test Online :${alignr}${if_match "{execi 1800 ~/Documents/Conky/ping.sh 195.154.112.212}" != "0"}${color 77B753}Up${else}${color FF0000}${endif}  
Vous vous êtes rendu compte que j’ai mis une IP « d’exemple » dans le script avec 111.111.111.111. Pensez à mettre vos IP si vous reprenez des parties de ce code.






Pour rappel, mon Conky actuel


Et son code
#==============================================================================
#                               conky_Aerya
# Date    : 9/08/2016
# Author  : Aerya
# Version : v0.7
# License : Distributed under the terms of GNU GPL version 2 or later
#
# https://upandclear.org/search/#search/text=conky
#
#==============================================================================

background yes

cpu_avg_samples 2
net_avg_samples 2
temperature_unit celsius
own_window_argb_visual no

double_buffer yes
no_buffers yes
text_buffer_size 2048
override_utf8_locale yes
use_xft yes
xftfont open sans:size=9
xftalpha 1
uppercase no
update_interval 1.0

gap_x 1950
gap_y 30
minimum_size 300
maximum_width 300

own_window yes
own_window_type transparent
own_window_transparent yes
own_window_argb_visual yes
own_window_argb_visual yes
own_window_colour 000000
own_window_argb_value 230
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
override_utf8_locale yes

border_inner_margin 0
border_outer_margin 0
alignment top_left

draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no

# Couleurs
default_color FFFFFF
color1 Green #vert
color2 Red #rouge


TEXT

${color}${alignc}${execi 3600 date +"%A %d %B %Y - Semaine %V"}${image ~/Documents/CloudStation/Conky/archlinux_small.png -p 260,30 -s 25x25}
${font size=9}${alignc}${color #6495ed}${time %k:%M:%S}

${font size=10}${color}Système${color #6495ed}${hr 2}
${offset 7}${font}${color #6495ed}Kernel${alignr}${color}$kernel (${machine})  
${offset 7}${font}${color #6495ed}Uptime${alignr}${color}$uptime  
${offset 7}${font}${color #6495ed}Charge${alignr}${color}$loadavg  

${font size=10}${color}Processeur & Mémoire ${color #6495ed}${hr 2}
${offset 7}${font}${color #6495ed}${exec cat /proc/cpuinfo | grep 'model name' | cut -c 14-42 | uniq}${alignr}${color}${hwmon 0 temp 1}°C  
${offset 30}${color}${cpu}%${offset 80}${color}${freq_g}GHz${alignr}${color #6495ed}${cpubar 6,100}  
${offset 30}${color}Processus             ${alignr}PID      ${alignr}CPU      ${alignr}RAM    
${offset 30}${font}${color #e09495}${top name 1}${alignr}${top pid 1}    ${alignr}${top cpu 1}    ${alignr}${top mem 1}%  
${offset 30}${font}${color #e0d094}${top name 2}${alignr}${top pid 2}    ${alignr}${top cpu 2}    ${alignr}${top mem 2}%  
${offset 30}${font}${color #006633}${top name 3}${alignr}${top pid 3}    ${alignr}${top cpu 3}    ${alignr}${top mem 3}%  
${offset 30}${font}${color grey}${top name 4}${alignr}${top pid 4}    ${alignr}${top cpu 4}    ${alignr}${top mem 4}%  
${offset 7}${font}${color #6495ed}RAM${goto 80}${color}$mem${color #6495ed}/$memmax${alignr}${membar 6,100}  
${offset 7}${font}${color #6495ed}SWAP${goto 80}${color}$swap${color #6495ed}/$swapmax${alignr}${swapbar 6,100}  
${offset 30}${color}Processus             ${alignr}PID      ${alignr}CPU      ${alignr}RAM    
${offset 30}${font}${color #e09495}${top_mem name 1}${alignr}${top_mem pid 1}    ${alignr}${top_mem cpu 1}    ${alignr}${top_mem mem 1}%  
${offset 30}${font}${color #e0d094}${top_mem name 2}${alignr}${top_mem pid 2}    ${alignr}${top_mem cpu 2}    ${alignr}${top_mem mem 2}%  
${offset 30}${font}${color #006633}${top_mem name 3}${alignr}${top_mem pid 3}    ${alignr}${top_mem cpu 3}    ${alignr}${top_mem mem 3}%  
${offset 30}${font}${color grey}${top_mem name 4}${alignr}${top_mem pid 4}    ${alignr}${top_mem cpu 4}    ${alignr}${top_mem mem 4}%  

${font size=10}${color}Stockage ${color #6495ed}${hr 2}
${offset 7}${font}${color #6495ed}Home${alignr}${color}${fs_used_perc /home}%  -  ${fs_used /home}${color #6495ed}/${fs_size /home}  ${color #6495ed}${fs_bar 6,100 /home}  
${offset 7}${font}${color #6495ed}Cloud${alignr}${if_mounted /mnt/FON}${color}${fs_used_perc /mnt/FON}%  -  ${fs_used /mnt/FON}${color #6495ed}/${fs_size /mnt/FON}  ${color #6495ed}${fs_bar 6,100 /mnt/FON}${else}${color} - ${color FF0000}${endif}${color}  
${offset 7}${font}${color #6495ed}Kodi${alignr}${if_mounted /mnt/Films}${color}${fs_used_perc /mnt/Films}%  -  ${fs_used /mnt/Films}${color #6495ed}/${fs_size /mnt/Films}  ${color #6495ed}${fs_bar 6,100 /mnt/Films}${else}${color} - ${color FF0000}${endif}${color}  

${font size=10}${color}Réseau ${color #6495ed}${hr 2}
${offset 7}${font}${color #6495ed}LAN${goto 80}${if_up enp8s0}${color}${addr enp8s0}${color 77B753}${else}${color}${color FF0000}${endif}${color}${goto 160}${font}${color #6495ed}WAN${goto 230}${if_existing /proc/net/route wlp14s0}${color}${addr wlp14s0}${color 77B753}${else}${color}${color FF0000}${endif}${color}  
${offset 7}${font}${color #6495ed}DL${goto 40}$color${downspeed enp8s0}/s - ${totaldown enp8s0}${goto 180}${if_existing /proc/net/route wlp14s0}$color${downspeed wlp14s0}/s - ${totaldown # wlp14s0}  
${goto 40}${color #6495ed}${downspeedgraph enp8s0 10,100 6495ed ff5c2b}${goto 180}${downspeedgraph wlp14s0 10,100 6495ed ff5c2b}  
${offset 7}${font}${color #6495ed}UP${goto 40}$color${upspeed enp8s0}/s - ${totalup enp8s0}${goto 180}${if_existing /proc/net/route wlp14s0}$color${upspeed wlp14s0}/s - ${totalup # wlp14s0}  
${goto 40}${color #6495ed}${upspeedgraph enp8s0 10,100 6495ed 77b753}${goto 180}${upspeedgraph wlp14s0 10,100 6495ed ff5c2b}  
${offset 7}${font}${color #6495ed}SSID${offset 30}${if_existing /proc/net/route wlp14s0}${color}${wireless_essid wlp14s0}${else}${color}  ${color FF0000}  ${endif}${color}   -   ${font}${color #6495ed}Force${offset 10}${if_existing /proc/net/route wlp14s0}${color}${wireless_bitrate wlp14s0}${alignr}${color #6495ed}${wireless_link_bar 6,50 wlp14s0}${else}${color}  ${color FF0000}  ${endif}${color}  

${offset 7}${font}${color #6495ed}Tor${goto 80}${if_running tor}${color0}${execi 600 proxychains curl icanhazip.com}${color}${color 77B753}${else}${color} - ${color FF0000}${endif}${color}${goto 180}${font}${color #6495ed}Docker${goto 240}${if_running docker}${color0}${addr docker0}${color}${color 77B753}${else}${color} - ${color FF0000}${endif}  
${offset 7}${font}${color #6495ed}Publique${goto 80}${if_up tun0}${color 77B753}${execi 600 curl icanhazip.com}${color 77B753}${else}${color} - ${color FF0000}${endif}${color}${goto 180}${font}${color #6495ed}VPN${goto 240}${if_up tun0}${color0}${addr tun0}${color 77B753}${else}${color} - ${color FF0000}${endif}  

${font size=10}${color}Serveurs ${color #6495ed}${hr 2}  
${offset 7}${font}${color #6495ed}TV${goto 120}${if_match "${execi 600 /home/ayx/Documents/CloudStation/Conky/ping.sh 192.168.1.2}" != "0"}${color 77B753}Up${else}${color FF0000}${endif}${goto 160}${color #6495ed}NOM${goto 270}${if_match "${execi 600 /home/ayx/Documents/CloudStation/Conky/ping.sh IP}" != "0"}${color 77B753}Up${else}${color FF0000}${endif}  

Tips pour l'adapter à votre configuration
Image ArchLinux, ligne 61
Mon interface réseau LAN est enp8s0, lignes 91 etc
Mon interface réseau WAN est wlp14s0, lignes 96 etc
Pour afficher l'IP Tor, il faut faire un curl via Tor, perso j'utilise proxychains, ligne 98
Mon interface VPN est tun0, ligne 99
Notez d'ailleurs que l'IP publique est en vert si VPN activé, sinon en rouge, lignes 99 etc
Pour ajouter des lignes "Serveurs", il suffit de copier la 1ère et de changer les NOM/IP
Script ping.sh utilisé dans la partie Serveurs, pour avoir un retour de mes machines (et vous devez avoir installé curl)
#!/bin/bash

if sudo ping -c 1 -W 2 $1 > /dev/null; 
then 
	echo "1"
else 
	echo "0"
fi
C'est une config tournant sur ArchLinux, peut-être à adapter un peu pour Debian, *buntu.
Ha merci pour ce tuto je vais pouvoir approfondir le mien

Pour le moment il ressemble a ça mais je compte bien modifier la partie réseau.

conky
Répondre…