Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
atelier:chantier:hddtemp-dev-disk-by-id-conky [23/04/2020 10:54] Debian Alain [Installation] |
atelier:chantier:hddtemp-dev-disk-by-id-conky [25/04/2020 16:48] Debian Alain |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== hddtemp /dev/disk/by-id/ conky ====== | ====== hddtemp /dev/disk/by-id/ conky ====== | ||
- | * Objet : faire fonctionne hddtemp dans conky avec une identification par id | + | * Objet : faire fonctionner hddtemp dans conky avec une identification par id |
* Niveau requis : débutant avisé | * Niveau requis : débutant avisé | ||
* Commentaires : //hddtemp utilise l'identification par sdX , souvent elle est aléatoire . | * Commentaires : //hddtemp utilise l'identification par sdX , souvent elle est aléatoire . | ||
Ligne 16: | Ligne 16: | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | hddtem utilise par défaut le nommage par /dev/sdX , | + | hddtemp utilise par défaut le nommage par /dev/sdX. |
- | ce nommage étant aléatoire , il est possible de le forcer à utiliser le nommage par /dev/disks/by-id/XXXXXX | + | Ce nommage étant aléatoire, il est possible de le forcer à utiliser le nommage par /dev/disks/by-id/XXXXXX. |
- | en préambule , il faut installer comme suit hddtemp : | + | En préambule, il faut installer comme suit hddtemp : |
<code root>apt install hddtemp </code> | <code root>apt install hddtemp </code> | ||
+ | |||
+ | Puis le reconfigurer afin qu'il soit lancé au démarrage de notre système et qu'il soit accessible par nos programmes (ici conky) : | ||
<code root>dpkg-reconfigure hddtemp</code> | <code root>dpkg-reconfigure hddtemp</code> | ||
Ligne 36: | Ligne 38: | ||
{{https://debian-facile.org/images/file-R8648856b9dd7415a67a6e8021eb6089a.png}} | {{https://debian-facile.org/images/file-R8648856b9dd7415a67a6e8021eb6089a.png}} | ||
- | ensuite , configurer le fichier /etc/default/hddtemp comme suit : | + | Nous devons ensuite configurer le fichier /etc/default/hddtemp afin de lui dire de lire aussi les disques nommés sous forme la /dev/disk/by-id/XXXXXX. |
- | se baser sur la recherche des id : | + | Pour obtenir la correspondance entre /dev/sdX et /dev/disk/by-id/XXXXXX nous pouvons faire un ls -l dans le dossier /dev/disk/by-id/. |
- | chez moi : | + | |
+ | Voici ce que j'obtiens : | ||
<code user>ls -lh /dev/disk/by-id/</code> | <code user>ls -lh /dev/disk/by-id/</code> | ||
<code>total 0 | <code>total 0 | ||
Ligne 72: | Ligne 75: | ||
</code> | </code> | ||
- | <code root>nano /etc/default/hddtemp</code> | + | Nous reportons ainsi la liste des devices qui nous intéresse dans le fichier de configuration d'hddtemp (ligne DISKS) |
+ | |||
+ | <code root>nano -w /etc/default/hddtemp</code> | ||
<code> #Defaults for hddtemp initscript (/etc/init.d/hddtemp) | <code> #Defaults for hddtemp initscript (/etc/init.d/hddtemp) | ||
Ligne 119: | Ligne 124: | ||
===== Test ===== | ===== Test ===== | ||
- | la commande : | + | Il ne nous reste plus qu'a tester pour voir si hddtemp récupère bien les températures de nos disques. |
- | <code root>hddtemp /dev/disk/by-id/wwn-0x500a0751e134d584</code> | + | Exemple avec le disque wwn-0x500a0751e134d584 (sdf) : |
- | donne , chez moi : | + | |
<code>alain@Alain-PC:~$ sudo hddtemp /dev/disk/by-id/wwn-0x500a0751e134d584 | <code>alain@Alain-PC:~$ sudo hddtemp /dev/disk/by-id/wwn-0x500a0751e134d584 | ||
[sudo] Mot de passe de alain : | [sudo] Mot de passe de alain : | ||
/dev/disk/by-id/wwn-0x500a0751e134d584: CT500MX500SSD4: 46°C</code> | /dev/disk/by-id/wwn-0x500a0751e134d584: CT500MX500SSD4: 46°C</code> | ||
- | + | ||
- | de même , dans conky : | + | Nous pouvons alors reporter cette commande dans conky afin de monitorer la température de notre disque : |
<code user>${alignc} disque ssd : ${hddtemp /dev/disk/by-id/wwn-0x500a0751e134d584}°C</code> | <code user>${alignc} disque ssd : ${hddtemp /dev/disk/by-id/wwn-0x500a0751e134d584}°C</code> | ||
+ | {{https://debian-facile.org/images/file-R6c8adfb35f6817f5a13827ff6885abff.png}} | ||
- | donne : | ||
- | {{https://debian-facile.org/images/file-R6c8adfb35f6817f5a13827ff6885abff.pmng}} | + | ===== Utilisation ===== |
+ | <code>DISKS="/dev/sd[a-f] /dev/disk/by-id/wwn-0x5000c5003fa4e30d /dev/disk/by-id/wwn-0x5000c5004fbead7a /dev/disk/by-id/wwn-0x5000c500465b459f /dev/disk/by-id/wwn-0x5000c5009ca2e849 /dev/disk/by-id/wwn-0x5000c500b67c94c2 /dev/disk/by-id/wwn-0x500a0751e134d584"</code> | ||
- | ===== Utilisation ===== | + | Avec la modification ci-dessus du fichier /etc/default/hddtemp, vous avez accès aussi bien à la notation /dev/sdX qu'a la notation /dev/disk/by-id/XXXXX. |
+ | |||
+ | ==== Température ssd en couleur ==== | ||
+ | |||
+ | <note tip>ceci est un exemple . dans votre cas , il faut l'adapter . </note> | ||
+ | |||
+ | créer le script suivant : | ||
+ | |||
+ | <code user>sudo nano ~/Téléchargements/show_ssd.sh </code> | ||
+ | <file bash show_ssd.sh> | ||
+ | # Get temperature value | ||
+ | SENSOR_PROBE='/dev/disk/by-id/wwn-0x500a0751e134d584' | ||
+ | TEMP_STRING=$(hddtemp "$SENSOR_PROBE" | grep --only-matching '[0-9.]\+°C' | head --lines=1 ) | ||
+ | TEMP_NUMBER=${TEMP_STRING%°C} | ||
+ | |||
+ | # Set display mode based on arguments | ||
+ | # Default is to display temperature in a console | ||
+ | unset DISPLAY_MODE | ||
+ | if [ $# -eq 1 ]; then | ||
+ | case "$1" in | ||
+ | ('conky'|'shell') | ||
+ | DISPLAY_MODE="$1" | ||
+ | ;; | ||
+ | esac | ||
+ | fi | ||
+ | : "${DISPLAY_MODE:=shell}" | ||
+ | |||
+ | # Set display color based on temperature value | ||
+ | # ≥ 70°C is high, ≥ 80°C is critical | ||
+ | if [ $TEMP_NUMBER -ge 60 ]; then | ||
+ | case "$DISPLAY_MODE" in | ||
+ | ('conky') | ||
+ | COLOR='red' | ||
+ | ;; | ||
+ | ('shell') | ||
+ | COLOR=31 | ||
+ | ;; | ||
+ | esac | ||
+ | elif [ $TEMP_NUMBER -ge 50 ]; then | ||
+ | case "$DISPLAY_MODE" in | ||
+ | ('conky') | ||
+ | COLOR='yellow' | ||
+ | ;; | ||
+ | ('shell') | ||
+ | COLOR=33 | ||
+ | ;; | ||
+ | esac | ||
+ | else | ||
+ | case "$DISPLAY_MODE" in | ||
+ | ('conky') | ||
+ | COLOR='green' | ||
+ | ;; | ||
+ | ('shell') | ||
+ | COLOR=32 | ||
+ | ;; | ||
+ | esac | ||
+ | fi | ||
+ | |||
+ | # Set message syntax based on display mode | ||
+ | case "$DISPLAY_MODE" in | ||
+ | ('conky') | ||
+ | MESSAGE='${color %s}%s${color}' | ||
+ | ;; | ||
+ | ('shell') | ||
+ | MESSAGE='\033[1;%sm%s\033[0m\n' | ||
+ | ;; | ||
+ | esac | ||
+ | |||
+ | # Print the formatted message | ||
+ | printf "$MESSAGE" "$COLOR" "$TEMP_STRING" | ||
+ | |||
+ | exit 0 | ||
+ | |||
+ | </file> | ||
+ | |||
+ | puis , dans conky : | ||
+ | |||
+ | <code>${alignc} disque ssd : ${execpi 5 /home/alain/Téléchargements/show_ssd.sh conky} | ||
+ | </code> | ||