Ceci est une ancienne révision du document !
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.
Installation et configuration de lm-sensors
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 ; (Lorsque vous avez ceci "YES/no", ce qui est en majuscule correspond à la réponse par défaut, choisis automatiquement en tapant sur "entrer". Tapez donc yes avant de faire "entrer" à ces 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. Ou bien éditez le fichier /etc/modules pour y ajouter vous-même les modules.
- 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 start
pour les charger.
Test et configuration des capteurs
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 ************************************************** ********************
Les données ci-dessus ne sont qu'à titre indicatif, ces dernières changeant selon la température des différents composants et d'autres paramètres propres à votre ordinateur.
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 afficher des noms compréhensibles pour vos capteurs à la place de "temp1", "fan3", etc… ou corriger les informations données par les capteurs. En effet les fichiers de configuration sont génériques pour les modules et ne correspondent pas à toutes les cartes mère ou configurations.
Le fichier /etc/sensors3.conf est le fichier de configuration de Sensor. Mais comme il est possible 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 s'il n'existe pas un fichier de configuration pour votre carte mère ici et le placer dans le dossier etc/sensors.d.
S'il n'y a pas de fichier, à vous de deviner à quoi correspondent les indications (allez faire un tour dans le BIOS et notez les valeurs indiquées pour retrouver celles indiquées par sensors) et créez un fichier dans le répertoire /etc/sensors.d, donnez-lui le nom de votre carte mère par exemple.
Le fichier de configuration est assez simple. Il faut d'abord définir le module auquel s'appliquent les modifications avec chip, puis 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 (et bien plus, la doc complète dans le man de sensors.conf).
Un petit exemple ci-dessous (ou inspirez vous des fichiers existants dans le lien précédent) :
chip "it87-isa-0290" label fan1 "CPU fan" ignore fan2 ignore fan3
Contrôle des ventilateurs
Installez le paquet fancontrol. Voici comment contrôler le "fan speed", après avoir préalablement installé et configuré lm-sensors comme indiqué dans la section précédente:
- Effectuez la configuration de la vitesse de vos ventilateurs avec cette commande:
sudo pwmconfig
Si la liste de quelques ventilateurs apparaît sans erreur, c'est que c'est bien parti. Le script teste vos ventilateurs ("fans") 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, maximum, etc.)
- Maintenant pour lancer fancontrol au démarrage, créez le fichier /etc/init.d/fancontrol et copiez-collez le contenu suivant:
#!/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 "Starting fancontrol daemon..." start-stop-daemon --start -o -q -m -b -p $PIDFILE -x $DAEMON $CONF log_end_msg $? ;; stop) log_begin_msg "Stopping fancontrol daemon..." 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 "Usage: /etc/init.d/fancontrol {start|stop|restart|force-reload}" log_success_msg " start - starts system-wide fancontrol service" log_success_msg " stop - stops system-wide fancontrol service" log_success_msg " restart, force-reload - starts a new system-wide fancontrol service" 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 le fichier le fichier /etc/rc.local pour que le script se lance au démarrage, insérez la ligne suivante avant la ligne "exit 0" :
sudo service fancontrol start
Munin
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 (plugin spécifique à la fonction). Vous devrez bien sûr vérifier que le capteur peut récupérer une valeur de vitesse de ventilateur (fan), de voltage (volt) ou de température.
Afficher les informations des capteurs sur le bureau ou le tableau de bord
Par environnement
Unity
Pour afficher graphiquement les données des capteurs sous Unity vous pouvez installer le paquet indicator-multiload.
Gnome classique et Mate
Gnome Sensors Applet est un applet du tableau de bord de gnome. Pour l'utiliser installez le paquet sensors-applet.
Après installation, ajoutez un nouvel élément au tableau de bord (clic droit dans une zone non utilisée sur le tableau de bord → Ajouter au tableau de bord → Ajouter Moniteur Matériel). Vous verrez maintenant le nouveau Moniteur matériel dans la catégorie Système et matériel.
Vous pouvez aussi installer hddtemp pour ajouter le le contrôle de la température des disques durs (Il faut activer le daemon, soit a 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 ».
Si vous préférez faire fonctionner sensors-applet sous Xubuntu il faut au préalable installer xfce4-xfapplet-plugin.
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:
- Ajoutez le PPA ppa:alexmurray/indicator-sensors1) dans vos sources de logiciels.
Pour l'activer:
- Faites une recherche dans le tableau de bord Unity avec les mots clé "indicateur de capteurs matériel", il apparaît dans la zone de notification,
- Faites un clic droit dessus, dans la fenêtre qui s'ouvre vous pouvez renommez les capteurs en cliquant sur l'étiquette et l'activer en cochant la case "Activé" pour afficher les capteurs désirés.
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 OMG Ubuntu (en).
Screenlets
Screenlets peut aussi afficher les données des capteurs thermiques.