{{tag>personnalisation}} ---- ====== Conky : Scripts Système ====== Compléments à la documentation [[/conky|Conky]]\\ Les codes donnés ci dessous sont à placer __après__ la section **TEXT** de votre //conkyrc//\\ Références des [[http://doc.ubuntu-fr-secours.org/astuces/conky_variables.html|Variables]] Dans les scripts donnés ci-dessous, on ne vous donne que les codes //__génériques__//.\\ Vous pouvez retrouver les scripts qui ont permit la réalisation des images sur les liens suivants :\\ * [[http://download.ubuntu-fr-secours.org/conky/conky_TEXT|Avant TEXT]] * [[http://download.ubuntu-fr-secours.org/conky/conky-ordinateur|Informations sur l'ordinateur]] * [[http://download.ubuntu-fr-secours.org/conky/conky-informations_systeme|Informations système]] * [[http://download.ubuntu-fr-secours.org/conky/conky-disque-dur|Disque dur]] * [[http://download.ubuntu-fr-secours.org/conky/conky-reseau|Informations réseaux]] * [[:conky_scripts_systeme#mails|Mails]] * [[http://download.ubuntu-fr-secours.org/conky/conky-divers|Divers]] IL vous suffira d'ouvrir un unique fichier texte, d'y coller « Avant TEXT » et toutes les parties désirées qui suivent à la suite.\\ ---- {{ :conky:conky-ordinateur.png|Ordinateur}} ===== Ordinateur ===== {{ :conky:conky-ordinateur-infos.png|Informations sur l'ordinateur}}\\ \\ Afficher des informations sur l'ordinateur. Dans l'ordre : la version de la distribution, le numéro de version, le nom de version, le kernel, l'architecure, la vitesse du processeur, le temps d'activité. ${execi 86400 lsb_release -si} : ${execi 86400 lsb_release -sr} ${execi 86400 lsb_release -sc} $sysname : $kernel $machine $freq_dyn_g GHz Uptime : $uptime {{ :conky:conky-informations_systeme.png|Informations Système}} ===== CPU / Carte mère ===== ==== Utilisation processeur ==== {{ :conky:conky-CPU.png|Utilisation du processeur}}\\ Afficher un graphique de l'utilisation processeur, avec indication en % dans ce graphique. Ici on va utiliser la variable //voffset// (vertical offset) pour positionner l'utilisation du processeur en % __sur__ le graphique de celui-ci. ${cpugraph 5e7b7b d8deeb} ${voffset -24}${alignc}${cpu cpu1}% ==== Mémoire / Swap ==== {{ :conky:conky-consommation.png|Utilisation de la ram et de la swap et divers}}\\ \\ Afficher l'utilisation (restant / totalité / graphique ) de la mémoire RAM et SWAP.\\ \\ ${color2}RAM : ${color1}$memperc% $mem /$memmax $membar ${color2}Swap : ${color1}$swapperc% $swap /$swapmax $swapbar ${color2}Process : ${color1}$processes Running : $running_processes Ici **${color}** est utilisé afin de redonner la couleur du texte par défaut définit dans la section __précédent__ **TEXT** ==== Température ==== La gestion de la température est un peu compliquée, car il faut indiquer à conky **l'identifiant du capteur** de T° qu'on souhaite afficher (c'est souvent le processeur, mais ce n'est pas une obligation). Et l'identifiant du capteur varie selon les ordinateurs (car le nombre de capteurs varie selon les PC). Il faut donc d'abord repérer l'identifiant du capteur souhaité. * Étape 1 : installer la commande [[lm-sensors]] (cliquez ici : [[apt://lm-sensors|lm-sensors]]). * Étape 2 : tapez **sensors** dans un terminal. La liste des capteurs (senseurs) avec leur nom et leur T° s'affichent. Voici un exemple de résultat : (pseudo - 6.5.0-10-generic) ~ : sensors coretemp-isa-0000 Adapter: ISA adapter Package id 0: +38.0°C (high = +100.0°C, crit = +100.0°C) Core 0: +38.0°C (high = +100.0°C, crit = +100.0°C) Core 1: +37.0°C (high = +100.0°C, crit = +100.0°C) pch_skylake-virtual-0 Adapter: Virtual device temp1: +39.5°C iwlwifi_1-virtual-0 Adapter: Virtual device temp1: +33.0°C * Étape 3 : choisir le capteur, extraire l'info et paramétrer l'affichage. Dans le cas ci-dessus, par exemple, **Package id 0** donne la T° globale du CPU (du processeur). Celui-ci a 2 cœurs, et chacun peut avoir une T° un peu différente. Si on veut afficher la T° globale du CPU, on peut utiliser le conky suivant : ${exec sensors | grep 'Package id 0' | cut -c17-23} La commande **$exec** lance la commande sensors à chaque rafraîchissement du conky.\\ Puis **grep** recherche le libellé de ligne qui vous intéresse. Ici 'Package id 0'.\\ Puis **cut -c** extrait les caractères qui vous intéressent. Ici les caractères 17 à 23, qui affichent la T° (à ajuster - en comptant - pour chaque cas).\\ Cette méthode est assez simple, mais l'exécution en tâche de fonds de la commande **sensors** peut consommer 1 à 2% de puissance processeur en plus par rapport à la méthode suivante, un peu plus légère mais un peu plus complexe. On reprend à l'étape 3, et on en ajoute d'autres. * Étape 3bis : repérez le nom du capteur qui vous intéresse. Dans le cas ci-dessus, par exemple, **Package id 0**. * Étape 4 : cherchez où se trouve le fichier récupérant la T° de ce capteur. C'est ce fichier que conky interrogera pour afficher la T°. Pour le trouver : - allez avec votre navigateur de fichiers dans le répertoire **/sys/class/hwmon**. - Vous y trouverez des sous-répertoires appelés **/hwmon1** ; **/hwmon2** ; ... - dans chaque sous-répertoire, vous trouverez différents fichiers. Regardez dans tous les fichiers **name** (quand il n'y a qu'un seul capteur dans le répertoire), ou **tempx_label** (si plusieurs capteurs. 'x' est le N° du capteur). - Cliquez sur ces fichiers pour les afficher : ils contiennent le nom du senseur qu'ils numérotent. - si vous voulez afficher le senseur de T° de **Package id 0** dans l'exemple plus haut, et que vous avez trouvé ce nom dans **/sys/class/hwmon/hwmon4/temp1_label**, vous devrez mettre dans votre conky la commande **${hwmon 4 temp 1}**. Si c'était dans **/sys/class/hwmon/hwmon2/name** (quand il n'y a pas de sous-capteur), vous devrez mettre dans votre conky la commande **${hwmon 2 temp 1}**, ou mieux **${hwmon 2 temp 1}C°**. - Vous pouvez afficher plusieurs capteurs (CPU, disque dur, ...), dans la limite de ceux existant sur votre PC. * Étape 5 : Il est enfin vivement conseillé de relancer la commande **sensors** au terminal, et de vérifier que ce qu'affiche le conky est conforme à cette commande. Sinon, vous vous être trompé de N° de capteur. Un exemple de conky tout simple : ${offset 250}${voffset 25}${font GE Inspira:size=12}${hwmon 4 temp 1}C°${font} La commande **$offset** décale l'affichage de 250 px vers la droite, et la commande **$voffset** de 25 px vers le bas.\\ La commande **$font** définie une police et sa taille.\\ **$hwmon** affiche le capteur de T° 4-1 (ici, c'est celui du processeur). Il est à noter que les capteurs listés dans **/sys/class/hwmon** ne sont pas forcément des capteurs de T°, et qu'ils peuvent aussi être affichés en adaptant le conky. Par exemple **${hwmon 3 fan 2}** pour le ventilateur 2. Pour la T° du disque dur, voir le chapitre ci-dessous sur conky et les disques durs. ===== Disque dur ===== ==== Taille / Espace ==== {{ :conky:conky-disque_dur-local.png|Taille des disques locaux}} === Local === Afficher différentes informations sur des partitions (dans ce cas : Taille des disques durs sda et sdb). La variable ''fs_bar'' (file system bar) reçoit 2 valeurs, la **hauteur** (ici **5 pixels**) et la **largeur** (ici **120 pixels**). Ces valeurs peuvent être omises. ${fs_used_perc /point/de/montage/}% ${fs_free /point/de/montage/} ${fs_bar 5,120 /point/de/montage/} A noter que pour votre partition par défaut, l'indication du point de montage n'est pas obligatoire. Vous pouvez donc simplement écrire : Utilisé : $fs_used_perc% - Libre : $fs_free ${fs_bar 5,120} {{ :conky:conky-disque_dur-distant.png|Taille des disques distants}} === Distant === Notez la variable ''if_mounted'' qui permet de vérifier que les disques sont montés, avant de lancer l'affichage. Même si vos disques sont montés après le lancement de conky, ceux-ci seront automatiquement affichés. ${if_mounted /point/de/montage/}Intitulé : ${fs_used_perc /point/de/montage/}% ${fs_free /point/de/montage/} ${fs_bar 5,120 /point/de/montage/}${endif} ==== Température ==== === Local === {{ :conky:conky-disque_dur-local_teta.png|Température des disques locaux}}\\ Après avoir installé [[apt://hddtemp|hddtemp]], il suffit d'ajouter les lignes : Local : sda ${hddtemp /dev/sda}° Et on obtient : sda : 35C° sdb : 42C° Par défaut hddtemp ne peut être utilisé que par le superutlisateur ; pour permettre à tous les utilisateurs non privilégiés de l'exécuter, entrez dans un terminal : ''sudo dpkg-reconfigure hddtemp'' et répondez Oui à la question "//Faut-il exécuter hddtemp avec les privilèges du superutilisateur ?//". === Distant === {{ :conky:conky-disque_dur-distant_teta.png|Température des disques distants}}\\ Récupérer la température d'un disque distant (pratique dans le cas d'un NFS) Voir les valeurs en //vrac// (exemple) nick@hostname:~$ nc 192.168.xxx.xxx 7634 |/dev/sg0|Maxtor 6Y160P0|42|C||/dev/s **Première variante** ${exec nc | cut -d'|' -f4}°C |**Légende**|| |**** |Ip de la machine contenant les disques à contrôler| |**** |port de la machine distante (pensez à ouvrir ce port dans le pare-feu) par défaut : 7634| |**cut -d'''|'''** |on découpe tous les **'''|'''** (pipe), ça crée un tableau| |**-f4** |on récupère la valeur à la position 4 (ce qui se trouve juste avant le 4ème **'''|'''** donc)| **Seconde variante** ${exec nc | awk -F'|' '{ print $4 }'}°C On récupère ainsi la valeur '**42°C**' dans les deux cas {{ :conky:conky-reseau-0.png|Réseau}} ===== Réseau ===== {{ :conky:conky-reseau-utilisation.png|Utilisation du réseau}}\\ \\ L'affichage de l'utilisation réseau se fait via les fonctions **downspeedf** (débit montant / vitesse de téléchargement) et **upspeedf** (débit descendant). **totaldown** donne le total des données téléchargées, et **totalup** le total envoyé. On va interroger le port Ethernet si on est en filaire, ou Wlan si on est en wifi. Comme les noms des interfaces réseau sont très différents d'une machine à une autre, vous pouvez tapez la commande **route** au terminal pour les connaître. Ci-dessous, l'interface réseau est une interface wifi, et le nom à mettre dans le conky est dans la colonne **Iface** (wlp58so). (pseudo - 6.5.0-10-generic) ~ : route Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface default mysmartwifi.loc 0.0.0.0 UG 600 0 0 wlp58s0 link-local 0.0.0.0 255.255.0.0 U 1000 0 0 wlp58s0 192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp58s0 L'affichage s'ajuste grâce à '//offset//' (retrait sur la ligne) et '//voffset//' (déplacement vertical de l'affichage). Exemple avec une interface réseau dont le nom est **eth1** (c'est donc du filaire) : Down ${offset 45}${totaldown eth1} ${offset 8}Up ${alignr}${totalup eth1} ${downspeedgraph eth0 22,150 5e7b7b d8deeb} ${upspeedgraph eth0 22,150 99c8e8 618094} ${offset 40}${voffset -21}${downspeedf eth1}k/s ${offset 190}${voffset -14}${upspeedf eth1}k/s {{ :conky:conky-reseau-information.png|Informations sur le réseau}}\\ \\ Ici dans le cas de deux cartes réseau. L'une en réseau vers l'extérieure, l'autre en local. eth1 : ${addr eth1} Afficher l'ip publique. ${texeci 3600 wget http://checkip.dyndns.org -O - -o /dev/null | cut -d : -f 2 | cut -d \< -f 1} Affichage simple et complet. eth0 : ${addr eth0} | ${totaldown eth0} | ${totalup eth0} Dans le cas d'une seconde carte, non configurée et non connectée, conky affiche « No Address » en place de l'adresse ip de la carte. {{ :conky:conky-divers-0.png|Divers}} ===== Mails ===== Attention, votre mot de passe sera stocké en clair dans le fichier. Ceci est problème de sécurité! Il est possible de récupérer nativement le nombre de mails non lus en précisant les adresses des serveurs POP et/ou IMAP, le nom d'utilisateur et le mot de passe. Pour un serveur IMAP #L'option -i est utilisée pour effectuer cette vérification toute les x secondes (ici toutes les 60 secondes, donc toute les minutes :) ) ${imap_unseen Adresse_serveur_IMAP Utilisateur Mot_de_passe -i 60} Pour un serveur POP #L'option -i est utilisée pour effectuer cette vérification toute les x secondes (ici toutes les 60 secondes, donc toute les minutes :) ) ${pop3_unseen Adresse_serveur_POP3 Utilisateur Mot_de_passe -i 60} Il est à noter que j'ai essayé de récupérer les mails non lus via le POP3 de Free et que cela n'a pas fonctionné. Cela fonctionne très bien en adoptant le mode IMAP (imap_unseen). ===== Divers ===== {{ :conky:conky-divers-processus.png|processus}}\\ \\ \\ \\ Afficher les résultats d'un '//top//' PROCESS ${hr 2} Name ${alignr}CPU ${alignr}RAM ${color #e09495} ${top name 1} ${alignr}${top cpu 1} ${alignr}${top mem 1} ${color #e0d094} ${top name 2} ${alignr}${top cpu 2} ${alignr}${top mem 2} ${color1} ${top name 3} ${alignr}${top cpu 3} ${alignr}${top mem 3} ${color1} ${top name 4} ${alignr}${top cpu 4} ${alignr}${top mem 4} ${color1} ${top name 5} ${alignr}${top cpu 5} ${alignr}${top mem 5} ---- //Contributeur : [[utilisateurs:mcpeter|McPeter]], [[utilisateurs:ljere|ljere]]