lm-sensors : utiliser les capteurs matériels

Ubuntu peut suivre la température de votre processeur ou d'autres composants de votre ordinateur, la vitesse des ventilateurs, et d'autres données systèmes, en utilisant un programme nommé lm-sensors et une autre application permettant de visualiser les données fournies par ce dernier sur votre bureau.

Si vous êtes pressé ou si vous n'aimez pas utiliser le terminal, reportez vous à la rubrique afficher les informations des capteurs sur le bureau.
Idéalement, installez et configurez lm-sensors pour obtenir plus d'informations sur votre matériel.

Pour connaître simplement la température du CPU, il est aussi possible d'utiliser la commande dans un terminal:
cat /sys/class/thermal/thermal_zone0/temp

Il vous suffit d'installer le paquet lm-sensors.

Configuration automatique

  • Tapez la commande suivante dans un terminal, ceci permet de détecter les sondes :
    sudo sensors-detect
  • Répondez positivement à toutes les questions ;

À un certain moment sensors-detect vous demande s'il doit ajouter lui même la configuration des capteurs au lancement d'Ubuntu en affichant ceci :

''To load everything that is needed, add this to /etc/modules:\\
#----cut here----\\
# Chip drivers\\
lm90\\
#----cut here----\\
If you have some drivers built into your kernel, the list above will contain too many modules. \\
Skip the appropriate ones!\\
 
Do you want to add these lines automatically to /etc/modules? (yes/NO)'' \\
  • Tapez yes, puis faites Entrée.
important

possibilité de message d'erreur au démarrage du type "Failed to start load modules", dans ce cas éditez le fichier /etc/modules en mode administrateur et commenter avec un "#" les derniers modules ajoutés, puis recommencer la manipulation en laissant le choix par défaut à toutes les questions !

  • Redémarrez l'ordinateur afin de charger les modules que lm-sensors a rajoutés si vous ne voulez pas les charger à la main.

Ou bien lancer la commande :

sudo service kmod restart

pour les charger.

PS: … Si certaines sondes ne sont pas encore reconnues ou dans l'éventualité où la détection se ferait de manière incorrecte — dans le cas d'un matériel récent — il est possible d'exécuter la dernière version du script de sensors-detect « latest version of sensors-detect » :

Test

Maintenant, testez les capteurs avec la commande « sensors » :

sensors

Ce qui devrait afficher :

''%%*******************************************************************%%'' \\
''it87-isa-0290\\
Adapter: ISA adapter\\
VCore 1: +1.57 V (min = +1.42 V, max = +1.57 V) ALARM\\
VCore 2: +2.66 V (min = +2.40 V, max = +2.61 V) ALARM\\
+3.3V: +6.59 V (min = +3.14 V, max = +3.46 V) ALARM\\
+5V: +5.11 V (min = +4.76 V, max = +5.24 V)\\
+12V: +11.78 V (min = +11.39 V, max = +12.61 V)\\
-12V: -19.14 V (min = -12.63 V, max = -11.41 V) ALARM\\
-5V: +0.77 V (min = -5.26 V, max = -4.77 V) ALARM\\
Stdby: +5.00 V (min = +4.76 V, max = +5.24 V)\
VBat: +3.12 V\\
fan1: 3668 RPM (min = 0 RPM, div = \\
fan2: 0 RPM (min = 664 RPM, div =  ALARM\\
fan3: 0 RPM (min = 2657 RPM, div = 2) ALARM\\
M/B Temp: +39°C (low = +15°C, high = +40°C) sensor = thermistor\\
CPU Temp: +36°C (low = +15°C, high = +45°C) sensor = thermistor\\
Temp3: +96°C (low = +15°C, high = +45°C) sensor = diode  \\ 
 
 %%***********************************************************************' %%''  \\

Redémarrez Ubuntu et les capteurs devraient maintenant être détectés pendant la phase de démarrage.

Pour des détails à propos de la configurations des capteurs, consultez la documentation spécifique au fichier sensors.conf :

man sensors.conf

Configuration

Un peu de configuration est nécessaire si vous voulez :

  1. afficher des noms compréhensibles pour vos capteurs à la place de "temp1", "fan3", etc…
  2. corriger les informations données par les capteurs.
Le fichier /etc/sensors3.conf est le fichier de configuration de Sensor.
Il permet d'ajouter des fichiers de configuration spécifiques à votre matériel dans le dossier /etc/sensors.d.
Il est préférable de ne pas modifier le fichier /etc/sensors3.conf.
  • Il faut d'abord vérifier l'existence d'un fichier de configuration pour votre carte-mère
  • puis le placer dans le dossier etc/sensors.d,
  • allez faire un tour dans le BIOS et notez les valeurs indiquées pour retrouver celles indiquées par sensors,
  • créez un fichier dans le répertoire /etc/sensors.d , le fichier de configuration est assez simple, Il faut d'abord :
    • définir le module auquel s'appliquent les modifications avec chip,
    • modifier la configuration des capteurs,

Par exemple :

label pour changer le nom ;
ignore pour ignorer un capteur qui n'est pas connecté sur votre système.

Pour une liste complète des commandes et options, consulter le manuel de sensors.conf).
man sensors.conf

Un petit exemple ci-dessous :

exemple.conf
chip "it87-isa-0290"
   label fan1 "ventilateur CPU"
   ignore fan2
   ignore fan3
Inspirez vous des exemples de fichiers existants sur le site du lien précédent 1)

Installez le paquet fancontrol.

Voici comment contrôler la "vitesse du ventilateur" 2) :

  • Effectuez la configuration de la vitesse de vos ventilateurs avec cette commande:
sudo pwmconfig

Si la liste de quelques ventilateurs apparaît sans erreur, cela signifie que votre script est fonctionnel.
Le script teste vos ventilateurs 3) et

☝ vous donne plusieurs éléments d'informations sur la vitesse maximum et minimum de vos ventilateurs,

puis

☝ vous demande de valider chaque choix

☛ seuil de température minimum,
☛ seuil de température maximum,
☛ etc…

Afin de lancer fancontrol au démarrage,

puis

  • copiez-collez le contenu suivant :
fancontrol
#!/bin/sh
#
# Fancontrol start script.
#
 
set -e
 
# Defaults
DAEMON=/usr/sbin/fancontrol
CONF=/etc/fancontrol
PIDFILE=/run/fancontrol.pid
PATH=/sbin:/bin:/usr/sbin:/usr/bin
 
test -f $DAEMON || exit 0
 
. /lib/lsb/init-functions
 
case "$1" in
       start)
               log_begin_msg "(en) : Starting fancontrol daemon... ; (fr) : Démarrage du service fancontrol…"
               start-stop-daemon --start -o -q -m -b -p $PIDFILE -x $DAEMON $CONF
               log_end_msg $?
               ;;
       stop)
               log_begin_msg "(en) : Stopping fancontrol daemon... ; (fr) : Arrêt du service fancontrol…"
               start-stop-daemon --stop -o -q -p $PIDFILE
               log_end_msg $?
               rm -f $PIDFILE
               ;;
       force-reload|restart)
               sh $0 stop
               sh $0 start
               ;;
       *)
               log_success_msg "  (en) : Usage: /etc/init.d/fancontrol {start|stop|restart|force-reload} — (fr) : Usage : /etc/init.d/fancontrol {démarrage|arrêt|redémarrage|chargement-mémoire}"
               log_success_msg "  (en) : start - starts system-wide fancontrol service — (fr) :  démarrage - démarre un service fancontrol de type système global"
               log_success_msg "  (en) : stop  - stops system-wide fancontrol service — (fr) :  arrêt - stoppe le service fancontrol de type système global"
               log_success_msg "  (en) : restart, force-reload - starts a new system-wide fancontrol service — (fr) :  redémarrage, chargement mémoire - démarre un nouveau service fancontrol de type système global"
               exit 1
               ;;
esac
 
exit 0
  • Rendez le script exécutable grâce à cette commande :
sudo chmod +x /etc/init.d/fancontrol

Puis

  • testez le script :
sudo service fancontrol start

puis:

sudo service fancontrol stop

Si tout marche bien, le script de démarrage du service sera automatiquement lancé au prochain démarrage d'Ubuntu.

Sinon, il ne reste plus qu'à éditer avec les droits d'administration le fichier /etc/rc.local pour que le script se lance au démarrage, avant la ligne :

exit 0

insérez la ligne suivante :

sudo service fancontrol start

Gerer la surchauffe

Le ventilateur du processeur ne fonctionne plus après quelques minutes, l'ordinateur portable surchauffe et s'arrête. Pour éviter cela, Ouvrez le fichier /etc/default/grub avec les droits d'administration et modifier cette ligne :

GRUB_CMDLINE_LINUX="acpi.power_nocheck=1"

Mettez à jour grub Voir la page grub pour plus d'information sur la modification du fichier.

Si vous utilisez Munin, vous pouvez inclure un graphe des capteurs dans votre page de surveillance munin.
Il vous faut créer un lien de /usr/share/munin/sensors_ (plugin générique sensors) vers /etc/munin/plugins/sensors_fan sensors_temp :

sudo ln -s /usr/share/munin/plugins/sensors_   /etc/munin/plugins/sensors_temp

ou sensors_volt 4).

Vous devrez bien sûr vérifier que le capteur peut récupérer une valeur de vitesse de ventilateur 5), de tension 6) ou de température7).

Par environnement

Unity

Pour afficher graphiquement les données des capteurs sous Unity vous pouvez installer le paquet indicator-multiload.

GNOME Shell

Pour afficher graphiquement les données des capteurs sous GNOME, vous pouvez installer l'extension FREON : https://extensions.gnome.org/extension/841/freon/

MATE (et Gnome Flashback)

Gnome Sensors Applet est un applet pour tableau de bord qui devrait convenir. Pour l'utiliser installez le paquet sensors-applet.

Après installation, il faut ajouter l'applet au tableau de bord voulu, pour cela, consultez les pages respectives :

Vous pouvez aussi installer hddtemp pour ajouter le contrôle de la température des disques durs.

Il faut activer le daemon, soit à l'installation du package, soit en tapant :
sudo dpkg-reconfigure hddtemp

Hddtemp n'est pas indispensable à sensors-applet, mais il est préférable de l'installer pour avoir un support plus étendu des capteurs.

KDE

Sous Kubuntu, pour obtenir l'affichage graphique des capteurs ajoutez le composant "Température du matériel" dans votre tableau de bord.
Cette application est recommandée pour les environnement KDE.

Xfce

Xfce dispose d'un logiciel permettant de voir les températures de son ordinateur. Pour cela, installez le paquet xfce4-sensors-plugin présent dans le dépôt universe. Ensuite, on peut l'utiliser en ajoutant un élément à un panneau XFCE. Il faut alors choisir l'élément appelé « Sensor plugin ». Pour le configurer, effectuez un clic droit sur l'élément du panneau puis aller dans le menu « Propriétés ».

Pour tous les environnements

Indicator-sensors

Une autre possibilité est d'utiliser le paquet indicator-sensors.

Ce logiciel n'est pas disponible dans les dépôts officiels.

Il peut être installé depuis un dépôt PPA :

Pour l'activer :

Il apparaît dans la zone de notification,

  • Faites un clic droit dessus,

dans la fenêtre qui s'ouvre vous pouvez

  • renommer les capteurs en cliquant sur l'étiquette et
  • l'activer en cochant la case "Activé" pour afficher les capteurs désirés9).

Plus d'infos sur (en) Installation des indicateurs de sondes matérielles.

PSensor

PSensor ressemble à ceci en indicateur pour Unity :

Il offre aussi une interface séparée qu'on peut lancer à la demande :

PSensor est inclus dans la logithèque.
Il vous faut simplement installer le paquet psensor.

Vous trouverez une présentation plus complète sur (en) PSensor lets you easily monitor hardware temperature in Ubuntu.

Screenlets

L'application Screenlets peut aussi afficher les données des capteurs thermiques.

—-

Contributeurs: Kmeleon et Ronan,
Modifié par Fabien26, stephaneguedon, McPeter, L'Africain

Autres contributeurs : René Stoecklin : Mise en page, traduction, corrections rédactionnelles, conformation à la norme W3C (interface Lynx Braille).

Page mise à jour le 26 juin 2016.


2)
indicateur fanspeed
3) , 5)
fan
4)
plugin spécifique à la fonction
6)
volt
7)
temp
  • lm-sensors.txt
  • Dernière modification: Le 02/02/2020, 17:03
  • (modification externe)