#51 Le 03/08/2022, à 10:49
- jlfh0816
Re : Genmon: affichage température SSD dans le tableau de bord sur 22.04
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 !
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é
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 COMPLET et 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
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
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 COMPLET et 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
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 COMPLET et 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
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 COMPLET et 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
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
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
retour COMPLET et 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
…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
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 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
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) :
Le gif qui s’affiche lorsque la température SSD dépasse ce seuil est appelé alerte.gif (triangle rouge) :
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 :
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
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 là) 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
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 :
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
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 :
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 là 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).
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 :
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à bravo !
retour COMPLET et 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
Xubuntu - Voyager 18.04 et 22.04
Hors ligne