{{tag>énergie matériel système personnalisation }}
----
====== lm-sensors : utiliser les capteurs matériels ======
{{ http://www.mon-club-elec.fr/mes_images/javascript/javascript_canva_rgraph_testx6.png?100}}
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 [[:lm-sensors#afficher_les_informations_des_capteurs_sur_le_bureau|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
===== Installation et configuration de lm-sensors =====
Il vous suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>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**, puisfaites Entrée.
important
//possibilité de message d'erreur au démarrage du type "Failed to start load modules", dans ce cas [[:tutoriel:comment_modifier_un_fichier|éditez le fichier]] ///etc/modules// en mode administrateur et commenter avec un "#" les derniers modules ajoutés, puisrecommencer 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 [[http://www.lm-sensors.org/wiki/Devices|la dernière version du script de sensors-detect]] « latest version of sensors-detect » :
===== 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 \\
%%***********************************************************************' %%'' \\
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... \\
- __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 [[https://github.com/lm-sensors/lm-sensors/tree/master/configs|fichier de configuration pour votre carte-mère]]
* puisle 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 :
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 ((Exemples de [[https://github.com/lm-sensors/lm-sensors/tree/master/configs|fichiers de configuration pour votre carte-mère]] ))
===== Contrôle des ventilateurs =====
[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>fancontrol]]**.
Voici comment contrôler la "vitesse du ventilateur" ((indicateur //fanspeed//)) :
* 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 ((fan)) 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, \\
* [[:tutoriel:comment_editer_un_fichier|créez le fichier]] ''/etc/init.d/fancontrol''
puis
* 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 "(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'à [[:tutoriel:comment_editer_un_fichier|éditer]] avec les [[:sudo|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, [[:tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/etc/default/grub** avec les [[sudo|droits d'administration]] et modifier cette ligne :
GRUB_CMDLINE_LINUX="acpi.power_nocheck=1"
[[:grub|Mettez à jour grub]]
Voir la page [[:grub]] pour plus d'information sur la modification du fichier.
=====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_volt ou sensors_temp ((plugin spécifique à la fonction)) :
sudo ln -s /usr/share/munin/plugins/sensors_ /etc/munin/plugins/sensors_temp
Vous devrez bien sûr vérifier que le capteur peut récupérer une valeur de vitesse de ventilateur ((fan)), de tension ((volt)) ou de température((temp)).
===== 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 [[tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>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) ===
[[https://linux.softpedia.com/get/Desktop-Environment/Gnome/GNOME-Sensors-Applet-5463.shtml|Gnome Sensors Applet]] est un applet pour tableau de bord qui devrait convenir. {{ :sensors-applet.png }}
Pour l'utiliser [[tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>sensors-applet]]**.
Après installation, il faut ajouter l'applet au tableau de bord voulu, pour cela, consultez les pages respectives :
* pour [[:MATE]] ;
* pour[[:gnome-session-fallback|Flashback]]
Vous pouvez aussi [[:tutoriel:comment_installer_un_paquet|installer]] **[[apt>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, [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>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 puisaller 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__[[:PPA|un dépôt PPA]]__ :
* [[:PPA|Ajoutez le PPA]] **ppa:alexmurray/indicator-sensors**(([[https://launchpad.net/~alexmurray/+archive/indicator-sensors|indicator sensors sur Launchpad]])) dans vos sources de logiciels.
* [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|Rechargez la liste des paquets]].
* [[:tutoriel:comment_installer_un_paquet#paquet_present_dans_les_depots|Installez le paquet]] **[[apt>indicator-sensors]]**.
Pour l'activer :
* Faites une recherche dans [[:unity#tableau_de_bord_dash|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
* renommer les capteurs en cliquant sur l'étiquette et
* l'activer en cochant la case "Activé" pour afficher les capteurs désirés(([[https://launchpad.net/~alexmurray/+archive/indicator-sensors|indicator sensors sur Launchpad]])).
Plus d'infos sur **(en)** [[https://www.noobslab.com/2012/06/install-hardware-sensors-indicators-in.html|Installation des indicateurs de sondes matérielles]].
=== PSensor ===
**PSensor** ressemble à ceci en indicateur pour [[:Unity]] : {{:administration:psensor1_trusty.png}}
Il offre aussi une interface séparée qu'on peut lancer à la demande :
{{ :administration:psensor2_trusty.png }}
**PSensor** est inclus dans la logithèque.\\
Il vous faut simplement [[:tutoriel:comment_installer_un_paquet#paquet_present_dans_les_depots|installer le paquet]] **[[apt>psensor]]**.
Vous trouverez une présentation plus complète sur **(en)** [[http://www.omgubuntu.co.uk/2011/05/psensor-a-graphical-temperature-monitor-for-ubuntu/|PSensor lets you easily monitor hardware temperature in Ubuntu]].
=== Screenlets ===
L'application [[:Screenlets]] peut aussi afficher les données des capteurs thermiques.
===== Voir aussi ====
* **(en)** [[https://www.noobslab.com/2012/06/install-hardware-sensors-indicators-in.html|Installation des indicateurs de sondes matérielles]] ,
* **(en)** [[https://help.ubuntu.com/community/SensorInstallHowto|Manuel d'installation des capteurs de température]].
----
//Contributeurs: [[utilisateurs:kmeleon|Kmeleon]] et [[utilisateurs:ronan|Ronan]], \\
Modifié par [[utilisateurs:Fabien26]], [[:utilisateurs:stephaneguedon|stephaneguedon]], [[:utilisateurs:mcpeter|McPeter]], [[:utilisateurs:l_africain|L'Africain]] //\\
//Autres contributeurs : [[utilisateurs:eagle08|René Stoecklin]] : Mise en page, traduction, corrections rédactionnelles, conformation à la norme W3C (interface Lynx Braille).//
//Page mise à jour le 26 juin 2016//.