Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#51 Le 03/08/2022, à 10:49

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

iznobe a écrit :

Salut , juste une question , lors de l' affichage , la temperature est affichée correctement , mais est ce que sa valeur change bien ? ( de temps en temps ) .

Bonjour iznobe.
Oui, de ce côté là, pas de soucis. C'est vrai qu'elle plutôt stable (autour de 24 à 26°C) mais ça lui arrive de changer. C'est au moins ça d'acquis !


iznobe a écrit :

teste ce nouveau script , plus facile a lire , qui n' utilise pas de fichier annexe et qui devrait peut etre fonctionné , mais je ne l ' ai pas testé :

Si je le lance dans GenMon, ça fige le tableau de bord...

Si je le lance dans un terminal, comme le subodorait Tawal (post #50), ça affiche sans fin la succession de lignes "thermomètre rouge" puis "thermomètre blanc". J'arrête le script avec Ctrl C :

jlfh0816@Voyager2204:~/.scripts$ ./iznobe2.sh
<txt>  SSD:   26 ° C  </txt>
<icon>/home/jlfh0816/.scripts/thermomètre_icône_blanc.png</icon>
<icon>/home/jlfh0816/.scripts/thermomètre_icône_rouge.png</icon>
<icon>/home/jlfh0816/.scripts/thermomètre_icône_blanc.png</icon>
<icon>/home/jlfh0816/.scripts/thermomètre_icône_rouge.png</icon>
<icon>/home/jlfh0816/.scripts/thermomètre_icône_blanc.png</icon>
<icon>/home/jlfh0816/.scripts/thermomètre_icône_rouge.png</icon>
<icon>/home/jlfh0816/.scripts/thermomètre_icône_blanc.png</icon>
<icon>/home/jlfh0816/.scripts/thermomètre_icône_rouge.png</icon>
^C
jlfh0816@Voyager2204:~/.scripts$

Dernière modification par jlfh0816 (Le 03/08/2022, à 11:08)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#52 Le 03/08/2022, à 11:08

iznobe

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

@Tawal : pour la syntaxe exact j ' etais trop pressé roll
pour la boucle infinie le probleme ne se pose pas car le script est relu cycliquement par genmon , c' est donc lui qui affichera a nouveau ou pas le clignotement de l' icone .
le script corrigé mais toujours pas testé :

#!/bin/bash
#
# Script pour xfce4-genmon-plugin
#   qui va permettre d'afficher la température interne d'un disque dur.
#
# Source : https://forum.ubuntu-fr.org/viewtopic.php?pid=22582503#p22582503
#
# Documentation : https://docs.xfce.org/panel-plugins/xfce4-genmon-plugin/start
#

# La variabe 'periph' contiendra le nom du fichier lien permettant d'identifier et d'accéder au disque concerné
periph=/dev/disk/by-id/ata-Samsung_SSD_860_EVO_M.2_1TB_S415NR0R400914Z   

seuil=20                                    # Seuil de température en degré celsius

iconPath="/home/jlfh0816/.scripts"          # Chemin dans lequel sont les icônes et le fichier "couleurThermo"

maReg='[^[0-9]]*([0-9][0-9]{0,2})°C$'       # Regex permettant l'extraction de la valeur numérique de la température.
[[ $(hddtemp $periph) =~ $maReg ]] && celsius=${BASH_REMATCH[1]}

# genmon 
echo "<txt>  SSD:   $celsius ° C  </txt>"

if [ $celsius -lt $seuil ]; then
	# genmon 
    echo "<icon>$iconPath/thermomètre_icône_blanc.png</icon>"
 else
    while true
		do
		# genmon
		echo "<icon>$iconPath/thermomètre_icône_blanc.png</icon>"
		sleep 1
		echo "<icon>$iconPath/thermomètre_icône_rouge.png</icon>"
		sleep 1
		done
fi

Dernière modification par iznobe (Le 03/08/2022, à 11:09)


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#53 Le 03/08/2022, à 11:21

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

iznobe a écrit :

le script corrigé mais toujours pas testé :

Je viens de le tester et, hélas, j'obtiens le même résultat que dans mon post #51...
Merci en tout cas de tes efforts smile


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#54 Le 03/08/2022, à 11:50

iznobe

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

ok nouveau test avec simplement du texte pas d' icone :

#!/bin/bash
#
# Script pour xfce4-genmon-plugin
#   qui va permettre d'afficher la température interne d'un disque dur.
#
# Source : https://forum.ubuntu-fr.org/viewtopic.php?pid=22582503#p22582503
#
# Documentation : https://docs.xfce.org/panel-plugins/xfce4-genmon-plugin/start
#

# La variabe 'periph' contiendra le nom du fichier lien permettant d'identifier et d'accéder au disque concerné
periph=/dev/disk/by-id/ata-Samsung_SSD_860_EVO_M.2_1TB_S415NR0R400914Z   

seuil=20                                    # Seuil de température en degré celsius

iconPath="/home/jlfh0816/.scripts"          # Chemin dans lequel sont les icônes et le fichier "couleurThermo"

maReg='[^[0-9]]*([0-9][0-9]{0,2})°C$'       # Regex permettant l'extraction de la valeur numérique de la température.
[[ $(hddtemp $periph) =~ $maReg ]] && celsius=${BASH_REMATCH[1]}

# genmon 
echo "<txt>  SSD:   $celsius ° C  </txt>"
if [[ "$celsius" -lt "$seuil" ]]
    then
	# genmon
    #echo "<icon>$iconPath/thermomètre_icône_blanc.png</icon>"
    echo "<txt>blanc</txt>"
else
    while true
		do
		# genmon
		#echo "<icon>$iconPath/thermomètre_icône_rouge.png</icon>"
        echo "<txt>rouge</txt>"
		sleep 0.5
		#echo "<icon>$iconPath/thermomètre_icône_blanc.png</icon>"
        echo "<txt>blanc</txt>"
		sleep 0.5
		done
fi

cette fois ci j ' ai pris la peine de testé chez moi et ca affiche bien :

iznobe@iznobe-PC:~/Bureau$ sudo ./test.sh
SSD: 35 ° C
rouge
blanc
rouge
blanc
rouge
blanc
rouge
blanc
rouge
blanc
rouge
blanc
rouge
blanc
rouge
blanc
rouge
blanc
rouge
blanc
rouge
blanc
rouge
^C
iznobe@iznobe-PC:~/Bureau$

retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#55 Le 03/08/2022, à 12:23

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

iznobe a écrit :

ok nouveau test avec simplement du texte pas d' icone :

Si j'exécute ton script dans un terminal, j'obtiens le même résultat que toi à la différence près que, chez moi, la température ainsi que les couleurs "rouge" et "blanc" sont entourés par des balises <txt> et </txt> comme tu peux le voir :

jlfh0816@Voyager2204:~/.scripts$ ./iznobe2.sh
<txt>  SSD:   27 ° C  </txt>
<txt>rouge</txt>
<txt>blanc</txt>
<txt>rouge</txt>
<txt>blanc</txt>
^C

Si je le laisse exécuter par GenMon, le tableau de bord se fige comme auparavant ...

Dernière modification par jlfh0816 (Le 03/08/2022, à 12:24)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#56 Le 03/08/2022, à 14:15

iznobe

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

essaie ce script du site genmon :

#!/bin/bash

# An example script for the genmon plugin displaying the bandwidth
# The first parameter passed to the script is the name of the interface

if=${1:-enp2s0}
test -d /sys/class/net/$if || echo "<txt>no $if</txt><tool>No statistics for $i</tool>"

prx=$(cat /sys/class/net/$if/statistics/rx_bytes)
ptx=$(cat /sys/class/net/$if/statistics/tx_bytes)
sleep 1
crx=$(cat /sys/class/net/$if/statistics/rx_bytes)
ctx=$(cat /sys/class/net/$if/statistics/tx_bytes)

brx=$(($crx - $prx))
btx=$(($ctx - $ptx))

human_bandwidth () {
	bandwidth=$1
	p=0
	while [ "$bandwidth" -gt "1024" -a "$p" -le "3" ] ; do
		bandwidth=$(($bandwidth/1024))
		p=$(($p+1))
	done
	case $p in
		0)
		bandwidth="$bandwidth B/s"
		;;
		1)
		bandwidth="$bandwidth KB/s"
		;;
		2)
		bandwidth="$bandwidth MB/s"
		;;
	esac
	echo $bandwidth
}

rx=$(human_bandwidth $brx)
tx=$(human_bandwidth $btx)

echo "<txt>Rx: $rx - Tx: $tx</txt>"
echo "<tool>Bandwidth on interface $if</tool>"

en remplacant " enp2s0 " par le nom de l' interface que tu utilises .
tu la trouveras en tapant :

ip a

si cela fonctionne normalement , poste un screen pour qu ' on voit ce que ca donne stp .

Dernière modification par iznobe (Le 03/08/2022, à 14:16)


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#57 Le 03/08/2022, à 15:25

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

iznobe a écrit :

si cela fonctionne normalement , poste un screen pour qu ' on voit ce que ca donne stp .

Excuse-moi d'avoir tardé, je m'étais absenté.
Voici ce que donne ce script :

jlfh0816@Voyager2204:~/.scripts$ ./bandwidth
<txt>Rx: 146 B/s - Tx: 150 B/s</txt>
<tool>Bandwidth on interface enp4s0</tool>
jlfh0816@Voyager2204:~/.scripts$

Est-ce que ça correspond à une réponse normale ?
Je te demande ça parce que je viens de m'apercevoir que je n'ai plus l'icône Network-Manager dans mon tableau de bord et comme le script parle de réseau internet ...

Dernière modification par jlfh0816 (Le 03/08/2022, à 17:14)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#58 Le 03/08/2022, à 18:23

iznobe

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

ca fonctionne normalement d' apres le script du terminal , mais si ca fait planter le network-manager alors que l' exemple vient du site principal , je ne sais quoi dire / penser .

De plus j' avoue qu ' un truc m' echappe je n' ai jamais utiliser cela auparavant , mais un script qui fonctionne dans le terminal devrait aussi fonctionner avec genmon et pas le faire planter .
bref , je suis un peu a cout d' idée .

Pourrais tu tester sur une version live pour voir si les memes soucis surviennent aussi ?

Dernière modification par iznobe (Le 03/08/2022, à 18:24)


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#59 Le 03/08/2022, à 18:41

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

iznobe a écrit :

mais si ca fait planter le network-manager

Non, je me suis mal exprimé : la disparition de l'applet Network-Manager dans le tableau de bord date d'avant l'exécution de ce script.
Çà m'ennuie parce que je n'ai aucune idée de savoir comment la faire ré-afficher mais, je te rassure, le script que tu m'as fait testé n'est pas dans le coup, il est innocent.

Merci pour tous tes efforts et le temps passé mais, si on n'y arrive pas dans cette voie, je vais sans doute m'orienter vers le gif animé puisqu'il s'affiche sans trop de soucis.

Sinon, je testerai demain sur une version live, histoire de voir si ça change quelque chose à tes scripts et ceux de MicP. Je ne peux pas tout de suite car je m'absente ce soir smile

Dernière modification par jlfh0816 (Le 03/08/2022, à 18:44)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#60 Le 03/08/2022, à 18:47

iznobe

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

Bonne soirée wink


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#61 Le 03/08/2022, à 19:31

MicP

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

Dans son message #59, jlfh0816 a écrit :

…la disparition de l'applet Network-Manager dans le tableau de bord date d'avant l'exécution de ce script.
Çà m'ennuie parce que je n'ai aucune idée de savoir comment la faire ré-afficher …

Lance la ligne de commande suivante :

nm-applet

Dernière modification par MicP (Le 03/08/2022, à 19:58)

Hors ligne

#62 Le 04/08/2022, à 12:56

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

MicP a écrit :

Lance la ligne de commande suivante :
nm-applet

Après vérification sur ma Voyager 22.04 installée ainsi que sur une version 22.04 live d'essai, il n'y a en fait jamais d'applet NetWork-Manager qui soit affichée dans le tableau de bord.
Comme j'utilise en ce moment les deux versions 18.04 et 22.04, je n'avais même pas réalisé que l'icône était affichée sur 18.04 mais "normalement" absente sur 22.04. C'est ballot de ma part ...
Par contre, pour les deux versions, aucun problème pour se connecter automatiquement en filaire sur internet dès le démarrage. Tout fonctionne bien. C'est seulement que l'absence de cette icône dans le tableau de bord me chagrine car je m'y étais habitué avec les précédentes versions. Heureusement que je n'ai pas de connexion wifi à établir car sans l'applet NetWork-Manager, je ne sais pas comment j'aurai fait !
Pour répondre à ta question MicP, voici le résultat de la commande que tu me suggères (ci-dessous, sur une version 22.04 live mais c'est pareil sur ma version 22.04 installée) :

ubuntu@ubuntu:~$ nm-applet
ubuntu@ubuntu:~$

En gros, il ne se passe rien de visible et aucune icône ne fait son apparition dans le tableau de bord.
Je te précise que j'ai également vérifié si "nm-applet" est bien cochée dans l'icône de notification : elle l'est.

Donc, désolé de t'avoir tracassé pour ce problème, je vais contacter directement l'auteur de Voyager 22.04 (rodofr) pour voir s'il est possible (ou non ? ) de refaire apparaître cette icône.

Dernière modification par jlfh0816 (Le 04/08/2022, à 12:58)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#63 Le 04/08/2022, à 14:34

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

@MicP et@iznobe
J'ai retesté vos différents scripts sur une version live de Voyager 22.04 (la galère pour y installer le paquet hddtemp ! ) et j'obtiens les mêmes résultats et affichages tableau de bord que sur la version 22.04 installée...

Ce n'est pas grave. Je n'insiste plus mais je tiens à vous remercier pour votre disponibilité et vos efforts.
Je vais maintenant m'orienter vers un script utilisant un gif animé. Ça me prendra sans doute du temps big_smile mais je vais m'accrocher et si je parviens à quelque chose de présentable, je posterai ici.


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#64 Le 04/08/2022, à 14:45

MicP

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

Pour NetworkManager, si toutes les cartes réseau de ta machine sont gérées par le fichier /etc/network/interfaces
alors NetworkManager ne pourra pas les gérer en même temps : c'est l'un ou l'autre, mais pas les deux en même temps.

En ce qui concerne les scripts avec xfce4-genmon-plugin
les distributions diffèrent, et le même Environnement de Bureau peut se comporter différemment d'une distribution ou/et version à l'autre.

Hors ligne

#65 Le 04/08/2022, à 18:46

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

Voici la réponse de rodofr au sujet de l'applet NetworkManager disparue du tableau de bord. Merci à lui !
Ça pourra éventuellement servir à d'autres.
Dans mon cas, c'est l’ajout d'un greffon indicateur qui m'a permis de la retrouver big_smile
L'option du greffon notification d'états n'a pas fonctionné.


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#66 Le 06/08/2022, à 16:49

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

Bonjour MicP et iznobe,
Comme promis, j’ai écrit ce petit script qui n’utilise que des gifs animés .
Pour que ceux-ci puissent tenir dans le tableau de bord, j’ai ramené leur hauteur à 22 pixels (grâce à Gimp).

Le gif qui s’affiche lorsque la température SSD est < seuil d’alerte est appelé jlfh0816.gif (mon avatar) : hse6.gif

Le gif qui s’affiche lorsque la température SSD dépasse ce seuil est appelé alerte.gif (triangle rouge) : t2xi.gif

Pour les tests d'alerte, je force l’affichage du gif "triangle rouge" en fixant un seuil d’alerte très bas, 10°C seulement, de façon à être sûr qu'il sera dépassé par la température du SSD.
Et, de fait, l'alerte s'affiche bien dans le tableau de bord : w09k.gif


Le script (basé sur la proposition de MicP du post #19) :

#!/bin/bash
# Script pour xfce4-genmon-plugin qui permet d'afficher la température interne d'un disque dur.
# Source : https://forum.ubuntu-fr.org/viewtopic.php?pid=22582503#p22582503
# Documentation : https://docs.xfce.org/panel-plugins/xfce4-genmon-plugin/start
#
# La variable 'periph' contiendra le nom du fichier lien permettant d'identifier et d'accéder au disque concerné
periph=/dev/disk/by-id/ata-Samsung_SSD_860_EVO_M.2_1TB_S415NR0R400914Z   
seuil=10                                    # Seuil d'alerte de température en degrés celsius
maReg='[^[0-9]]*([0-9][0-9]{0,2})°C$'       # Regex permettant l'extraction de la valeur numérique de la température.
[[ $(hddtemp "$periph") =~ $maReg ]] && celsius=${BASH_REMATCH[1]}
#if (( "$celsius" < "$seuil" )); then        #comparaison temperature SSD au seuil d'alerte
if [ "$celsius" -lt "$seuil" ]; then       #comparaison température SSD au seuil d'alerte
    echo "<img>/home/jlfh0816/.scripts/jlfh0816.gif</img>";
 else
    echo "<img>/home/jlfh0816/.scripts/alerte.gif</img>";
    fi
msg="<txt><span>   SSD:</span><span foreground=\"#00FFFF\">"${celsius}"°C        </span></txt>"
echo "$msg"

#script basé sur une proposition de MicP  https://forum.ubuntu-fr.org/viewtopic.php?id=2073249


Mais bon, à la limite, je pense qu’on peut se passer d’afficher un gif lorsque la température SSD est normale et ne garder que l’affichage du gif d’alerte lorsque la situation l’exige. Dans ce cas, le script est plus concis :

#!/bin/bash
# Script pour xfce4-genmon-plugin qui permet d'afficher la température interne d'un disque dur.
# Source : https://forum.ubuntu-fr.org/viewtopic.php?pid=22582503#p22582503
# Documentation : https://docs.xfce.org/panel-plugins/xfce4-genmon-plugin/start

# La variable 'periph' contiendra le nom du fichier lien permettant d'identifier et d'accéder au disque concerné
periph=/dev/disk/by-id/ata-Samsung_SSD_860_EVO_M.2_1TB_S415NR0R400914Z   
seuil=10                                    # Seuil d'alerte de température en degrés celsius
maReg='[^[0-9]]*([0-9][0-9]{0,2})°C$'       # Regex permettant l'extraction de la valeur numérique de la température.
[[ $(hddtemp "$periph") =~ $maReg ]] && celsius=${BASH_REMATCH[1]}
#if (( "$celsius" > "$seuil" )); then        #comparaison temperature SSD au seuil d'alerte
  if [ "$celsius" -gt "$seuil" ]; then       #comparaison température SSD au seuil d'alerte
    echo "<img>/home/jlfh0816/.scripts/alerte.gif</img>";
  fi
msg="<txt><span>   SSD:</span><span foreground=\"#00FFFF\">"${celsius}"°C        </span></txt>"
echo "$msg"

#script basé sur une proposition de MicP  https://forum.ubuntu-fr.org/viewtopic.php?id=2073249

Voilà, tout fonctionne maintenant et je vous renouvelle mes remerciements à tous les deux pour votre patience et le temps passé sur ma demande d’aide.

Dernière modification par jlfh0816 (Le 07/08/2022, à 22:11)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#67 Le 16/08/2022, à 14:36

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

Bonjour,
Après une bonne période de bidouilles, je suis parvenu à faire afficher dans le tableau de bord la valeur clignotante de la température du SSD, toujours en utilisant le plugin GenMon (moniteur générique).
Le SSD utilisé est un 860 EVO SATA M.2
En me basant sur la documentation du fabricant Samsung, on peut définir trois plages de température de fonctionnement de ce disque :
- de 0 à 50°C, la température est classée «normale»;
- de 50 à 70°C, la température SSD est classée élevée (= alerte jaune);
- au-delà de 70°C, la température devient dangereusement trop élevée (=alarme rouge).

Les seuils 0°C et 70°C sont ceux donnés par le fabricant sur son site. Par contre, comme il n’évoque pas de seuil «alerte jaune», je l’ai arbitrairement fixé à 50°C. Si j’ai tort, merci de me le dire.

En consultant les articles spécialisés, j’ai par ailleurs appris que, d’une façon générale, les SSD de type NVMe grimperaient plus facilement en température que ceux de type SATA, même en fonctionnement normal. Dans ce cas, il faudra modifier en conséquence les valeurs attribuées aux seuils «alerte jaune» et «alarme rouge» en se reportant à la documentation du fabricant.


Voici ce que donne l’affichage dans le tableau de bord dans les trois cas de figure :

      température normale                       alerte jaune                        alarme rouge
            1ljz.gif                          1ykj.gif                       set6.gif

Concernant l'affichage d'une température normale, j'ai choisi de ne pas le faire clignoter puisqu'il ne se passe rien, que tout est normal.

Quant à la période de rafraîchissement du plugin GenMon, elle est laissée à 30 secondes (valeur par défaut).


Et voici le script correspondant :

#!/bin/bash
#partie du script d'après MicP https://forum.ubuntu-fr.org/viewtopic.php?id=2073249
periph=/dev/disk/by-id/ata-Samsung_SSD_860_EVO_M.2_1TB_S415NR0R400914Z
alerte_jaune=50      # Seuil d'alerte jaune en degré celsius
alarme_rouge=70   # Seuil d'alerte rouge en degré celsius
maReg='[^[0-9]]*([0-9][0-9]{0,2})°C$'       # Regex permettant l'extraction de la valeur numérique de la température.
[[ $(hddtemp "$periph") =~ $maReg ]] && celsius=${BASH_REMATCH[1]}

#création du gif animé de base
convert -size 75x22 xc:transparent -font "/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf" -pointsize 12 -fill white -draw "text 0,15 'SSD :'" /home/jlfh0816/.scripts/X_1.png;
for i in {2..10} ; do cp /home/jlfh0816/.scripts/X_1.png /home/jlfh0816/.scripts/X_"$i".png ; done;
convert -delay 10 /home/jlfh0816/.scripts/X_*.png -loop 0 /home/jlfh0816/.scripts/gif_vide_44x22px2.gif;
rm /home/jlfh0816/.scripts/X_*.png;

#adaptation du gif animé de base à l'alerte rouge
convert /home/jlfh0816/.scripts/gif_vide_44x22px2.gif -coalesce -geometry +20+40 -gravity East \
        -font "/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf" -pointsize 12 -fill '#FF0000'  \
          \( -clone 0 -annotate 0 "$celsius °C    "        \) -swap 0 +delete \
          \( -clone 1 -annotate 0 "$celsius °C    "        \) -swap 1 +delete \
          \( -clone 2 -annotate 0 "$celsius °C    "        \) -swap 2 +delete \
          \( -clone 3 -annotate 0 "$celsius °C    "        \) -swap 3 +delete \
          \( -clone 4 -annotate 0 "$celsius °C    "        \) -swap 4 +delete \
          -layers OptimizeFrame   /home/jlfh0816/.scripts/temperatureX_rouge.gif

#adaptation du gif animé de base à l'alerte jaune
convert /home/jlfh0816/.scripts/gif_vide_44x22px2.gif -coalesce -geometry +20+40 -gravity East \
        -font "/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf" -pointsize 12 -fill '#FFFF00'  \
          \( -clone 0 -annotate 0 "$celsius °C    "        \) -swap 0 +delete \
          \( -clone 1 -annotate 0 "$celsius °C    "        \) -swap 1 +delete \
          \( -clone 2 -annotate 0 "$celsius °C    "        \) -swap 2 +delete \
          \( -clone 3 -annotate 0 "$celsius °C    "        \) -swap 3 +delete \
          \( -clone 4 -annotate 0 "$celsius °C    "        \) -swap 4 +delete \
          -layers OptimizeFrame   /home/jlfh0816/.scripts/temperatureX_jaune.gif
          
rm /home/jlfh0816/.scripts/gif_vide_44x22px2.gif


#comparaison temperature SSD aux seuils d'alerte jaune et d'alarme rouge
if [ "$celsius" -le "$alerte_jaune" ]; then
msg="<txt><span>   SSD: </span><span foreground=\"#00FFFF\">"${celsius}"°C        </span></txt>"
echo "$msg"

else

if [ "$celsius" -ge "$alarme_rouge" ]; then
echo "<img>/home/jlfh0816/.scripts/temperatureX_rouge.gif</img>";

else

echo "<img>/home/jlfh0816/.scripts/temperatureX_jaune.gif</img>";

fi
fi

Je serai intéressé si quelqu’un pouvait relire le script et corriger les erreurs de toutes sortes, notamment de syntaxe (il y en a sûrement !). Merci par avance.

Sinon, lorsque l’alarme rouge est affichée, j’ai hésité à ajouter une ligne de commande pour arrêter automatiquement le PC. Est-ce justifié ? Pour l’instant, je ne l’ai pas mise.

Et enfin, dernier point de discussion : HDDtemp. Comme ce paquet est en fin de vie, j’ai lu sur plusieurs sites (par exemple ici ou ) qu’il existe une alternative qui a l’air de fonctionner : Drivetemp. Si quelqu’un a un retour d’expérience à ce sujet ?

Dernière modification par jlfh0816 (Le 16/08/2022, à 15:02)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#68 Le 16/08/2022, à 15:33

Tawal

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

Hello,

Je vois 3 choses concernant la conception.
Pourquoi recréer les gif à chaque fois, une fois fait ils restent utilisables, tu les stocke quelque part et puis c'est tout.
Tu économiseras des cycles de lecture/écriture sur ton SSD (important pour sa durée de vie).

Et puis, j'aurais fait clignoter plus lentement l'alerte jaune par rapport à l'alerte rouge.

Enfin, je te déconseille d'arrêter automatiquement le PC en cas d'alerte rouge, imagine en plein travail ...
Pense plutôt à créer une pop-up pour t'inciter à l'éteindre toi-même (zenity peut le faire).


Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#69 Le 16/08/2022, à 18:11

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

@Tawal
Merci de ton avis, tu soulèves effectivement des questions importantes.

En ce qui concerne ta première suggestion, les gifs sont recréés toutes les 30 secondes (rythme de rafraîchissement de GenMon) afin que la température qu'ils affichent soit ré-actualisée en permanence. Je ne peux pas les archiver quelque part pour les utiliser plus tard car alors ils n'indiqueraient peut-être plus la bonne température. Ou alors, il faudrait que la concordance entre la température qu'ils affichent et la température réelle du SSD relevée par hddtemp soit d'abord testée. Et ne relancer leur re-création que s'il y a une différence entre les deux valeurs. Je ne sais pas trop comment faire mais je vais creuser l'idée dans cette direction. Ceci dit, même si je trouve le moyen d'y parvenir, ça n'empêchera pas GenMon de relancer automatiquement le script toutes les 30 secondes. Du coup, on pourrait aussi (en plus) modifier la fréquence de son rafraîchissement en passant par exemple celle-ci de 30 secondes à 300 secondes (5 minutes).

Pour ta seconde remarque, tu as raison et je m'étais d'ailleurs fait la même réflexion auparavant. Je vais voir comment modifier cela.

Et enfin, pour ta troisième remarque, j'abonde dans ton sens. Je vais essayer de créer une notification d'alerte avec notify send, peut-être doublée d'une courte annonce vocale.

Encore merci de tes remarques !

Dernière modification par jlfh0816 (Le 16/08/2022, à 22:39)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#70 Le 16/08/2022, à 20:32

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

Tawal a écrit :

Et puis, j'aurais fait clignoter plus lentement l'alerte jaune par rapport à l'alerte rouge.

Voilà, j'ai modifié la création du gif jaune et le clignotement est désormais plus lent : lvbn.gif

Et le script modifié :

#!/bin/bash
#partie du script d'après MicP https://forum.ubuntu-fr.org/viewtopic.php?id=2073249
periph=/dev/disk/by-id/ata-Samsung_SSD_860_EVO_M.2_1TB_S415NR0R400914Z
alerte_jaune=50  # Seuil d'alerte jaune en degré celsius
alarme_rouge=70  # Seuil d'alerte rouge en degré celsius
maReg='[^[0-9]]*([0-9][0-9]{0,2})°C$'       # Regex permettant l'extraction de la valeur numérique de la température.
[[ $(hddtemp "$periph") =~ $maReg ]] && celsius=${BASH_REMATCH[1]}

#création du fond du gif alerte rouge
convert -size 75x22 xc:transparent -font "/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf" -pointsize 12 -fill white -draw "text 0,15 'SSD :'" /home/jlfh0816/.scripts/R1.png;
for i in {2..10} ; do cp /home/jlfh0816/.scripts/R1.png /home/jlfh0816/.scripts/R"$i".png ; done;
convert -delay 10 /home/jlfh0816/.scripts/R*.png -loop 0 /home/jlfh0816/.scripts/gif_vide_75x22pxR.gif;
rm /home/jlfh0816/.scripts/R*.png;

#inscription température hddtemp sur gif alerte rouge
convert /home/jlfh0816/.scripts/gif_vide_75x22pxR.gif -coalesce -geometry +20+40 -gravity East \
        -font "/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf" -pointsize 12 -fill '#FF0000'  \
          \( -clone 0 -annotate 0 "$celsius °C    "        \) -swap 0 +delete \
          \( -clone 1 -annotate 0 "$celsius °C    "        \) -swap 1 +delete \
          \( -clone 2 -annotate 0 "$celsius °C    "        \) -swap 2 +delete \
          \( -clone 3 -annotate 0 "$celsius °C    "        \) -swap 3 +delete \
          \( -clone 4 -annotate 0 "$celsius °C    "        \) -swap 4 +delete \
          -layers OptimizeFrame   /home/jlfh0816/.scripts/temperatureR_rouge.gif

#création du fond du gif alerte jaune
convert -size 75x22 xc:transparent -font "/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf" -pointsize 12 -fill white -draw "text 0,15 'SSD :'" /home/jlfh0816/.scripts/Y1.png;
for i in {2..10} ; do cp /home/jlfh0816/.scripts/Y1.png /home/jlfh0816/.scripts/Y"$i".png ; done;
convert -delay 20 /home/jlfh0816/.scripts/Y*.png -loop 0 /home/jlfh0816/.scripts/gif_vide_75x22pxY.gif;
rm /home/jlfh0816/.scripts/Y*.png;

#inscription température hddtemp sur gif alerte jaune
convert /home/jlfh0816/.scripts/gif_vide_75x22pxY.gif -coalesce -geometry +20+40 -gravity East \
        -font "/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf" -pointsize 12 -fill '#FFFF00'  \
          \( -clone 0 -annotate 0 "$celsius °C    "        \) -swap 0 +delete \
          \( -clone 1 -annotate 0 "$celsius °C    "        \) -swap 1 +delete \
          \( -clone 2 -annotate 0 "$celsius °C    "        \) -swap 2 +delete \
          \( -clone 3 -annotate 0 "$celsius °C    "        \) -swap 3 +delete \
          \( -clone 4 -annotate 0 "$celsius °C    "        \) -swap 4 +delete \
          -layers OptimizeFrame   /home/jlfh0816/.scripts/temperatureY_jaune.gif
          
rm /home/jlfh0816/.scripts/gif_vide_75x22px*.gif


#comparaison temperature SSD aux seuils d'alerte jaune et d'alarme rouge
if [ "$celsius" -le "$alerte_jaune" ]; then
msg="<txt><span>   SSD: </span><span foreground=\"#00FFFF\">"${celsius}"°C        </span></txt>"
echo "$msg"

else

if [ "$celsius" -ge "$alarme_rouge" ]; then
echo "<img>/home/jlfh0816/.scripts/temperatureR_rouge.gif</img>";

else

echo "<img>/home/jlfh0816/.scripts/temperatureY_jaune.gif</img>";

fi
fi

Dans ce script, pour ralentir encore plus le clignotement du gif jaune, il suffit de changer 20 (ce sont des 1/100 de seconde) pour une valeur plus élevée dans cette ligne :

convert -delay 20

Dernière modification par jlfh0816 (Le 16/08/2022, à 22:21)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#71 Le 16/08/2022, à 22:15

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

Tawal a écrit :

Enfin, je te déconseille d'arrêter automatiquement le PC en cas d'alerte rouge, imagine en plein travail ...
Pense plutôt à créer une pop-up pour t'inciter à l'éteindre toi-même (zenity peut le faire).

Suite à ta suggestion, voici la notification pop-up qui s'affiche (j'ai utilisé notify-send au lieu de zenity) lorsque le seuil de l'alerte rouge est franchi : pg2b.png

Dans le script, j'ai fait en sorte qu'elle ne disparaisse pas spontanément afin qu'on ne la rate pas si on s'est absenté de son écran... Pour l'effacer, il suffit de cliquer dessus.

J'ai également doublé cette notification par un petit tintement de cloche suivi d'une courte annonce vocale.
Mais si on n'en veut pas, il suffit de commenter les deux lignes correspondantes, celles qui commencent par paplay et spd-say (spd = speech-dispatcher).

Le script modifié :

#!/bin/bash
#partie du script d'après MicP https://forum.ubuntu-fr.org/viewtopic.php?id=2073249
periph=/dev/disk/by-id/ata-Samsung_SSD_860_EVO_M.2_1TB_S415NR0R400914Z
alerte_jaune=50  # Seuil d'alerte jaune en degrés celsius
alarme_rouge=70  # Seuil d'alarme rouge en degrés celsius
maReg='[^[0-9]]*([0-9][0-9]{0,2})°C$'       # Regex permettant l'extraction de la valeur numérique de la température.
[[ $(hddtemp "$periph") =~ $maReg ]] && celsius=${BASH_REMATCH[1]}

#création du fond du gif alerte rouge
convert -size 75x22 xc:transparent -font "/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf" -pointsize 12 -fill white -draw "text 0,15 'SSD :'" /home/jlfh0816/.scripts/R1.png;
for i in {2..10} ; do cp /home/jlfh0816/.scripts/R1.png /home/jlfh0816/.scripts/R"$i".png ; done;
convert -delay 10 /home/jlfh0816/.scripts/R*.png -loop 0 /home/jlfh0816/.scripts/gif_vide_75x22pxR.gif;
rm /home/jlfh0816/.scripts/R*.png;

#inscription température hddtemp sur gif alerte rouge
convert /home/jlfh0816/.scripts/gif_vide_75x22pxR.gif -coalesce -geometry +20+40 -gravity East \
        -font "/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf" -pointsize 12 -fill '#FF0000'  \
          \( -clone 0 -annotate 0 "$celsius °C    "        \) -swap 0 +delete \
          \( -clone 1 -annotate 0 "$celsius °C    "        \) -swap 1 +delete \
          \( -clone 2 -annotate 0 "$celsius °C    "        \) -swap 2 +delete \
          \( -clone 3 -annotate 0 "$celsius °C    "        \) -swap 3 +delete \
          \( -clone 4 -annotate 0 "$celsius °C    "        \) -swap 4 +delete \
          -layers OptimizeFrame   /home/jlfh0816/.scripts/temperatureR_rouge.gif

#création du fond du gif alerte jaune
convert -size 75x22 xc:transparent -font "/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf" -pointsize 12 -fill white -draw "text 0,15 'SSD :'" /home/jlfh0816/.scripts/Y1.png;
for i in {2..10} ; do cp /home/jlfh0816/.scripts/Y1.png /home/jlfh0816/.scripts/Y"$i".png ; done;
convert -delay 20 /home/jlfh0816/.scripts/Y*.png -loop 0 /home/jlfh0816/.scripts/gif_vide_75x22pxY.gif;
rm /home/jlfh0816/.scripts/Y*.png;

#inscription température hddtemp sur gif alerte jaune
convert /home/jlfh0816/.scripts/gif_vide_75x22pxY.gif -coalesce -geometry +20+40 -gravity East \
        -font "/usr/share/fonts/truetype/ubuntu/Ubuntu-R.ttf" -pointsize 12 -fill '#FFFF00'  \
          \( -clone 0 -annotate 0 "$celsius °C    "        \) -swap 0 +delete \
          \( -clone 1 -annotate 0 "$celsius °C    "        \) -swap 1 +delete \
          \( -clone 2 -annotate 0 "$celsius °C    "        \) -swap 2 +delete \
          \( -clone 3 -annotate 0 "$celsius °C    "        \) -swap 3 +delete \
          \( -clone 4 -annotate 0 "$celsius °C    "        \) -swap 4 +delete \
          -layers OptimizeFrame   /home/jlfh0816/.scripts/temperatureY_jaune.gif
          
rm /home/jlfh0816/.scripts/gif_vide_75x22px*.gif


#comparaison temperature SSD aux seuils d'alerte jaune et d'alarme rouge
if [ "$celsius" -le "$alerte_jaune" ]; then
msg="<txt><span>   SSD: </span><span foreground=\"#00FFFF\">"${celsius}"°C        </span></txt>"
echo "$msg"

else

if [ "$celsius" -ge "$alarme_rouge" ]; then
echo "<img>/home/jlfh0816/.scripts/temperatureR_rouge.gif</img>";
notify-send --icon=dialog-error -t 0 'Température SSD critique' "<span color='#FF0000' font='26px'><b>      "$celsius" °C</b></span>";
paplay /usr/share/sounds/sound-icons/glass-water-1.wav;
sleep 1;
spd-say -t male1 -l fr "attention  la température  du  S    S     D est  treize elle vé";
else

echo "<img>/home/jlfh0816/.scripts/temperatureY_jaune.gif</img>";

fi
fi

Dans le script, le message vocal est écrit de façon bizarre, quasiment en phonétique : c'est pour forcer la voix de synthèse à prononcer plus correctement les mots et bien faire les liaisons. L'écriture interpelle mais la prononciation est bien meilleure...


edit: si la voix de synthèse de la notification (spd-say) est désagréable, trop artificielle et métallique, on peut y remédier en suivant les recommandations du site du "à l'ombre du tigre à rayures". Pour faire court, il faut installer et utiliser le module TTS (Text To Speech) pico générique car c'est celui qui donne les meilleurs résultats pour une voix de synthèse française. C'est très facile et les explications sont en français. Seul bémol : l'article date de 2014...
En complément et plus récent car concernant l'installation sur 22.04 du module pico, il y a ici et des informations complémentaires utiles.

edit 2:
si par ailleurs la phrase à prononcer par la voix de synthèse est un peu trop longue, on peut tenter d'ajouter l'argument --wait juste après la commande spd-say ( ce qui donne donc la ligne de commande  spd-say --wait "phrase longue à prononcer" )
(source)

Dernière modification par jlfh0816 (Le 19/08/2022, à 12:00)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#72 Le 18/08/2022, à 16:40

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

Bonjour,
Pour aller un peu plus loin dans le visuel du message de notification de l'alarme rouge (température SSD supérieure à 70°C), j'ai ajouté une icône animée (un soleil rouge qui tourne). Il est accompagné d'un petit tintement de cloche ainsi que d'un court message vocal (voix de synthèse TTS avec le module pico generic). Ce premier message s'efface automatiquement au bout d'une vingtaine de secondes (ça dépend de la valeur que l'on renseigne dans le menu whisker > paramètres > notifications > disparition après ... ) pour laisser la place à une notification fixe plus habituelle. Cette dernière par contre ne s'efface pas automatiquement au cas où on se serait absenté de son écran. Mais il suffit de cliquer dessus pour la faire disparaître (c'est le clic du curseur qui apparaît tout à la fin du gif ci-dessous).

hv3w.gif    et le lien direct au cas où.

Pour la vidéo + écouter le court message vocal émis en même temps, voici le lien.

Dernière modification par jlfh0816 (Le 25/08/2022, à 21:05)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#73 Le 19/08/2022, à 22:56

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

Bonsoir,
Pour compléter mon post #72, j'ai découvert que l'on peut également faire clignoter la partie "texte" de la notification émise par notify-send, c'est-à-dire la température :

lcgm.gif    et le lien direct au cas où.

Dernière modification par jlfh0816 (Le 19/08/2022, à 23:03)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#74 Le 20/08/2022, à 06:01

iznobe

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

Bonjour , ca a bien évolué , ca fait pro là wink bravo !


retour utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#75 Le 20/08/2022, à 08:33

jlfh0816

Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04

@iznobe
Merci iznobe, c'est très gentil de ta part, mais non, je t'assure que je ne suis qu'un bidouilleur du dimanche, rien de plus.
Et de toute façon, sans ton aide au départ ni celle de MicP, je ne serai pas allé bien loin !
Si ça intéresse quelqu'un, je posterai le code et la petite manip' à effectuer pour parvenir à cet affichage amélioré.
Mais pour l'heure, je travaille sur une méthode permettant d'utiliser un sprite sheet au lieu d'une succession de frames afin d’obtenir l'animation dans la zone normalement réservée à l'icône dans notify-send. Pas évident mais je suis sur une piste.

En attendant, très bon week-end à toi  smile


Xubuntu - Voyager 18.04 et 22.04

Hors ligne