Différences
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 | ||
hal [Le 06/08/2008, 18:56] stephaneguedon créée |
hal [Le 08/01/2017, 19:56] (Version actuelle) L'Africain tags et nettoyage de la page |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Dapper Feisty Gutsy Hardy système BROUILLON}} | + | {{tag>Xenial système}} |
---- | ---- | ||
Ligne 5: | Ligne 5: | ||
====== HAL : Hardware Abstraction Layer ====== | ====== HAL : Hardware Abstraction Layer ====== | ||
- | HAL est la couche d'abstraction materielle, ainsi que l'indique son nom en anglais. | + | HAL est la couche d'abstraction matérielle, ainsi que l'indique son nom en anglais. |
Cette couche d'abstraction est simplement une interface qui rend possible l'ajout du support pour les nouveaux périphériques et les nouvelles manières de les connecter à l'ordinateur, sans modifier chaque application qui les utilise. Il maintient une liste de périphériques qui existent actuellement et peut fournir des informations à leur sujet sur demande. Elle permet de reconnaître et d'identifier les périphériques branchés à l'ordinateur, de leur fournir une adresse système... | Cette couche d'abstraction est simplement une interface qui rend possible l'ajout du support pour les nouveaux périphériques et les nouvelles manières de les connecter à l'ordinateur, sans modifier chaque application qui les utilise. Il maintient une liste de périphériques qui existent actuellement et peut fournir des informations à leur sujet sur demande. Elle permet de reconnaître et d'identifier les périphériques branchés à l'ordinateur, de leur fournir une adresse système... | ||
Ligne 11: | Ligne 11: | ||
Hal est par exemple sollicitée à chaque branchement à chaud d'un périphérique, tel qu'une clé usb ou une imprimante. | Hal est par exemple sollicitée à chaque branchement à chaud d'un périphérique, tel qu'une clé usb ou une imprimante. | ||
- | <note help>Vous pouvez lire à ce sujet les documentations sur Udev. Hal est une dépendance de Udev</note> | + | <note help>Vous pouvez lire à ce sujet les documentations sur Udev. Udev est une dépendance de Hal</note> |
+ | |||
+ | <note important>Hal est maintenant intégré dans udev depuis 2008-2010, cette documentation n'est plus à jour !</note> | ||
- | <note important>Hal est donc un élément très important de votre système d'exploitation ! Il est vital que ce composant soit installé et fonctionnel !</note> | ||
Hal est aussi un programme : haldaemon, aussi appelé hald, chargé au démarrage du système grace à un script (script de niveau d'execution, logé dans /etc/init.d/).\\ | Hal est aussi un programme : haldaemon, aussi appelé hald, chargé au démarrage du système grace à un script (script de niveau d'execution, logé dans /etc/init.d/).\\ | ||
- | Comme de nombreux services, démons et programmes vitaux pour le système d'exploitation, hal dispose aussi de son propre compte utilisateur. Cela permet qu'en cas de bug de hal, le bug ne se répende pas ailleurs dans le système (lire à ce sujet les articles sur la gestion des droits lecture/écriture/execution et la gestion des utilisateurs). | + | Comme de nombreux services, démons et programmes vitaux pour le système d'exploitation, hal dispose aussi de son propre compte utilisateur. Cela permet qu'en cas de bug de hal, le bug ne se répande pas ailleurs dans le système (lire à ce sujet les articles sur la gestion des droits lecture/écriture/exécution et la gestion des utilisateurs). |
===== Pré-requis ===== | ===== Pré-requis ===== | ||
Ligne 22: | Ligne 23: | ||
* Disposer des [[:sudo|droits d'administration]] ; | * Disposer des [[:sudo|droits d'administration]] ; | ||
* Disposer d'une connexion à Internet configurée et activée ; | * Disposer d'une connexion à Internet configurée et activée ; | ||
- | * Avoir activé l'accès aux [[:depots#main|dépôts Main]]. | ||
===== Installation ===== | ===== Installation ===== | ||
- | Il vous suffit, pour cela, d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt://hal|hal]]**. | + | Il vous suffit, pour cela, d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt>hal]]**.\\ |
+ | À partir d'[[:trusty|Ubuntu 14.04]], hal n'est plus dans les dépôts il faut alors : | ||
+ | * [[:PPA|Ajouter le PPA]] **ppa:mjblenner/ppa-hal**((https://launchpad.net/~mjblenner/+archive/ppa-hal)) dans vos sources de logiciels; | ||
+ | * [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|recharger la liste des paquets]]; | ||
+ | * [[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>hal]]**. | ||
- | ===== Désinstallation ===== | ||
- | Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez. | + | ===== Fonctionnement ===== |
+ | |||
+ | Comme dit précédemment, HAL est une surcouche du daemon [[udev]] à qui le noyau délègue la gestion des évènements matériels. ''udev'' transmet l'intégralité des évènements qu'il détecte à HAL par l'intermédiaire d'une règle installée par défaut (Ubuntu 8.10 Intrepid). | ||
+ | |||
+ | Cette règle est définie dans le fichier **/etc/udev/rules.d/90-hal.rules** : | ||
+ | |||
+ | <code>cat /etc/udev/rules.d/90-hal.rules | ||
+ | # pass all events to the HAL daemon | ||
+ | RUN+="socket:/org/freedesktop/hal/udev_event" | ||
+ | </code> | ||
+ | |||
+ | HAL est destinataire de l'intégralité des évènements matériels qui surviennent sur la machine et réagit en fonction des règles internes définies dans les fichiers de configuration XML du répertoire /etc/hal/. | ||
+ | |||
+ | ==== lshal ==== | ||
+ | |||
+ | Cette commande permet de lister les périphériques pris en compte par HAL sur l'ordinateur. | ||
+ | |||
+ | Essayez : <code>lshal</code> | ||
=====Problèmes possibles ===== | =====Problèmes possibles ===== | ||
Ligne 36: | Ligne 56: | ||
Il peut arriver que vous tombiez, lors d'une mise à jour, sur un message du genre : | Il peut arriver que vous tombiez, lors d'une mise à jour, sur un message du genre : | ||
- | ''stephane@lug:/etc/bcron$ sudo dpkg --configure hal\\ | + | ''/etc/bcron$ sudo dpkg --configure hal\\ |
Paramétrage de hal (0.5.11~rc2-1ubuntu8.2) ...\\ | Paramétrage de hal (0.5.11~rc2-1ubuntu8.2) ...\\ | ||
* Reloading system message bus config... [ OK ] | * Reloading system message bus config... [ OK ] | ||
Ligne 50: | Ligne 70: | ||
On voit bien dans ce cas qu'il s'agit d'un problème avec le compte d'utilisateur polkituser, qui intervient aussi dans la configuration de hal. | On voit bien dans ce cas qu'il s'agit d'un problème avec le compte d'utilisateur polkituser, qui intervient aussi dans la configuration de hal. | ||
- | Dans ce cas, faîtes un usermod sur le compte problèmatique et sur celui de hal, afin d'étendre la validité des comptes en question : | + | Dans ce cas, faites un usermod sur le compte problématique et sur celui de hal, afin d'étendre la validité des comptes en question : |
''usermod -e AAAA-MM-JJ //nom-du-compte// '', dans lequel AAAA est l'année, MM le mois, et JJ le jour de la nouvelle date de validité. | ''usermod -e AAAA-MM-JJ //nom-du-compte// '', dans lequel AAAA est l'année, MM le mois, et JJ le jour de la nouvelle date de validité. | ||
Ligne 56: | Ligne 76: | ||
---- | ---- | ||
- | //Contributeurs : [[utilisateurs:stephaneguedon|stephaneguedon]].// | + | |
+ | //Contributeurs : [[utilisateurs:stephaneguedon]], mimilus.// |