Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOWTO] udev, DBUS, HAL, gnome-volume-manager, c'est quoi ?
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
zdra
Veteran
Veteran


Joined: 30 Nov 2003
Posts: 1693
Location: Bruxelles, Belgique

PostPosted: Fri Feb 18, 2005 4:12 pm    Post subject: [HOWTO] udev, DBUS, HAL, gnome-volume-manager, c'est quoi ? Reply with quote

Bonjour,

Voilà je fais ici un petit essais de HOWTO sur ces "nouvelles" technologies issues du kernel 2.6.x. Je ne suis pas sur d'avoir moi-même complètement compris tous les principes, donc corrigez-moi sans pitié !

Quel est le BUT de tout ça ?

Au final la combinaison de toutes ces technologies (udev,DBUS, HAL) est de permettre une gestion dynamique des périphériques sous linux et d'en avertir
l'utilisateur. Donc au final l'utilisateur peut par exemple brancher une clef usb et avoir un nautilus qui s'ouvre pour explorer les fichiers, tout ça automatiquement. De même lors de l'insertion d'un CDROM on peut avoir un programme qui se lance directement (totem si c'est un DVD vidéo par exemple, ou même un script autorun mis sur le cd). Les possibilités sont infinies et ne sont limitées pour l'instant uniquement par un manque d'interface utilisateur et d'intégration dans les desktop (gnome, kde, ...) mais fondamentalement tout est déjà en place et marche même plutôt bien grâce à gnome-volume-manager qui est (à ce que je sache) pour l'instant la seule interface finale pour que l'utilisateur puisse configurer et personaliser toutes ces fonctionnalités.

Que se passe-t-il entre le moment où je branche ma clef usb et le moment où je vois les fichiers dans nautilus ?

1) Tout commence au niveau du kernel. C'est lui qui détecte le 1er l'ajout d'un nouveau périphérique. Il charge les drivers (modules) nécessaires au bon fonctionnement du nouveau matériel qu'il auto-détecte tout seul. Toutes les caractéristiques technique que le kernel obtient en interrogeant le matériel sont disponibles dans /sys. Tous les fichiers y sont générés en direct par le kernel et n'ont donc aucune réalité sur le disque dur, et c'est totalement dynamique en fonction des périphériques qu'on ajoute/supprime à chaud.

2) Pour que les programmes extérieurs au kernel puissent accéder au périphérique, il faut nommer ce périphérique en mettant un fichier dans /dev. Sous linux TOUT est fichier, y compris le matériel. On arrive donc à l'entrée en fonction de udev. La "révolution" de cette technique est de laisser à l'utilisateur le soin de nommer le périphérique ! C'est donc udev, un programme utilisateur, qui va etre informé par le kernel qu'un nouveau matériel est connecté et qu'il faut lui donner un nom (fichier) dans /dev. udev va donc, à travers de règles définies dans /etc/udev/, composer ce nom de fichier à utiliser. Pour plus de détails sur cette étape, et sur le contrôle que vous avez dessus: http://www.reactivated.net/udevrules.php

3) Nous avons donc un périphérique utilisable par les utilisateurs à travers un fichier. Il reste juste à avertir les utilisateurs que ce matériel est disponible. C'est HAL qui va s'en charger en lisant dans le /sys qui a été populé par le kernel (via libsysfs). HAL est alors au courant des changements dans le matériel et il a acces à toutes les informations publiées par le kernel. Ces informations sont directement tirées du matériel, et donc pas très compréhensible. Donc Au lieu de dire "le périphérique /dev/sda1" HAL va être plus gentil et dire "clef usb du nom de USB_BAR" (USB_BAR étant le nom de la partition fat se trouvant sur la clef usb par exemple). c'est tout de suite plus user-friendly ! HAL va donc même proposer une internationalisation des noms, donc au lieu de "floppy disk" vous verrez même "lecteur de disquette" !!! HAL va aussi regrouper toutes les informations techniques du périphérique et les rendre plus compréhensibles, de cette façon en consultant HAL on pourra facilement savoir si un CDROM est un data, audio, ou même un DVD data, DVD vidéo, etc....

4) Ensuite il faut faire parvenir les informations collectées par HAL à l'utilisateur. HAL va donc poster un message sur le DBUS. On peut résumer son utilité en un service de messagerie. HAL poste un petit message à travers DBUS qui dit "voilà une nouvelle clef usb" et les programmes utilisateurs qui écoutent de l'autre côté du DBUS reçoivent donc ce message et peuvent agir.

4) Finalement des logiciels de votre environement graphique comme gnome-volume-manager vont être capable grâce à DBUS de savoir quand un CDROM est introduit. Et si il voit que c'est un audio il va alors lancer automatiquement un lecteur de cd audio et jouer la musique. Si c'est un data il va alors pouvoir monter le périphérique et ouvrir nautilus pour montrer les fichiers. Il existe aussi ivman qui fait le même genre de boulo que gvm.

Mais je croyais qu'il fallait une entrée dans fstab pour monter un cdrom/clef USB

Tout juste, mais encore une fois HAL a pensé à tout ! En effet lorsqu'il remarque qu'un nouveau périphérique "block" est connecté (cad périf montable) il lance un composant de HAL: fstab-sync. fstab-sync va donc alors regarder /etc/fstab et voir si il y a une entrée pour le nouveau périf. Si il n'en voit pas alors il va l'ajouter à la fin du fichier automatiquement ! Par défaut il met les points de montage dans /media. Évidemment il garde en mémoire les modifications qu'il a fait, et donc si le périphérique est débranché hop il enlève l'entrée ! On a donc un fstab dynamique.
Évidemment fstab-sync a les droits de modification sur /etc/fstab puisque HAL est un deamon lancé au boot de l'ordinateur en tant que root.

Note: j'ai récement vu que ubuntu n'ajoute aucune entrée dans fstab et que fstab-sync n'existe pas ! Il utilise plutot pmount qui est une version modifiée de mount qui permet de faire directement le montage sans passer par fstab.

Et donc tout ce mécanisme compliqué remplace avantageusement supermount,... ?

Exactement. On vient de voir comment tout est monté automatiquement. Mais le démontage est également prévu. Pour le cas d'une clef USB par exemple, fstab-sync va mettre l'option de montage "sync" ce qui veut dire que les écritures seront directement faites sur le périphérique sans buffer. Donc théoriquement vous pouvez retirer à chaud la clef sans la démonter et tout sera dessus. De plus en la retirant HAL en sera informé et fera le ménage dans fstab. Même nautilus en sera informé et va donc retirer l'icone du bureau. Pour les CDROM et DVD il y a une manipulation supplémentaire si on veut avoir un effet windowsien complet: enlever le lock du CDROM lorsqu'il est monté. ça se fait tout simplement en mettant l'option dev.cdrom.lock = 0 dans le fichier /etc/sysctl.conf.

Et pourquoi ma disquette ne marche pas de la même manière ?

Et bien pour les lecteurs de disquettes il y a une difficulté supplémentaire. En effet en hardware aucun mécanisme n'est prévu pour prévenir le système qu'une disquette est inserée. La seule manière est de demander explicitement au lecteur si il y a une disquette. Et évidemment c'est pas très propre de demander constamment au lecteur de vérifier si une disquette est présente... Mais néamoins fstab-sync sait quand il y a un lecteur de disquette de branché et ajoute donc déjà une ligne dans le fstab pour monter la disquette si on demande explicitement de la monter (en cliquant sur l'icône dans le poste de travail dans gnome par exemple). Et comme pour les clefs USB, l'option SYNC sera mise, et donc théoriquement on peut enlever la disquette à tout moment. Mais encore une fois aucun mécanisme hardware n'est prévu pour signaler au système qu'une disquette est enlevée. Donc le système croira toujours que la disquette est montée... ce qui pose problème... En résumé donc pour les disquettes il n'y a pas de miracle, il faut les démonter manuellement pour rester propre.

Comment installer toutes ces merveilles ?

udev: http://www.gentoo.org/doc/fr/udev-guide.xml
HAL et DUB:
Code:

On install les logiciels
# emerge -a hal    (--> DBUS en sera une dépendence)
On démarre les services
# /etc/init.d/hald start  (--> le service DBUS est une dépendence)
Pour que HAL soit démarré à tout les boot:
# rc-update add hald default

Quelques outils intéressant:

- Pensez à l'USEFLAG "hal" qui donne le support HAL dans plusieurs paquets gnome (et certainement KDE dans le future).
Une fois le flag ajouté dans /etc/make.conf, recompilez tout les paquets qui sont influencé par ce flag:
Code:

# emerge -av --newuse world


- Installez le fameux gnome-volume-manager:
Code:
# emerge -a gnome-volume-manager

Si vous utilisez gnome, il faut démarer gnome-volume-manager à chaque login. Pour se faire allez dans Applications -> préférences du bureau -> préférences avancées -> sessions -> Programmes au démarrage -> ajouter -> "gnome-volume-manager".

- Pour voir toutes les informations disponible à travers HAL sur tout les matériels de votre ordinateur:
Code:
# emerge -a hal-device-manager


Voilà qui est dit. Je suis ouvert à tous les commentaires. Je ne suis absolument pas un expert en la question mais j'ai voulu vous proposer ce que j'ai cru comprendre en lisant un peu partout sur le net. Bref NO WARRANTY !!!

Ce document est publié sous la licence Creative Commons, merci d'en respecter les rêgles.

[EDIT] merci à fb99 et kernel_sensei pour l'orthographe :)
[EDIT2] Merci à ikke pour avoir signalé une lourde erreur dans le howto, et à dJu` pour m'avoir rappellé qu'il faut corriger.


Last edited by zdra on Sun Jun 19, 2005 10:04 pm; edited 8 times in total
Back to top
View user's profile Send private message
kernelsensei
Bodhisattva
Bodhisattva


Joined: 22 Feb 2004
Posts: 5619
Location: Woustviller/Moselle/FRANCE (49.07°N;7.02°E)

PostPosted: Fri Feb 18, 2005 4:27 pm    Post subject: Re: [HOWTO] udev, DBUS, HAL, gnome-volume-manager, c'est quo Reply with quote

Merci, Super HOWTO, juste 2 - 3 choses :

zdra wrote:
Bonjour,

Voilà je fais ici un petit essais de HOWTO sur ces "nouvelles" technologies issues du kernel 2.6.x. Je ne suis pas sur d'avoir moi meme completement compris tout les principes, donc corrigez moi sans pitié !

Quel est le BUT de tout ça ?

Au final la combinaison de toutes ces technologies (udev,DBUS, HAL) est de permettre une gestion dynamique des périphériques sous linux et d'en avertir
l'utilisateur. Donc au final pour l'utilisateur peut par exemple brancher une clef usb et avoir un nautilus qui s'ouvre pour explorer les fichiers, tout ça automatiquement. De meme lors de l'insertion d'un CDROM on peut avoir un programme qui se lance directement (totem si c'est un DVD vidéo par exemple, ou meme un script autorun mis sur le cd). Les possibilitées sont infinies et ne sont limitées pour l'instant uniquement par un manque d'interface utilisateur et d'intégration dans les desktop (gnome, kde, ...) mais fondamentalement tout est déjà en place et marche meme plutot bien grace à gnome-volume-manager qui est (à ce que je sache) pour l'insant la seul interface final pour que l'utilisateur puisse configurer et personaliser toutes ces fonctionnalitées.

Que se passe-t-il entre le moment où je branche ma clef usb et le moment où je vois les fichiers dans nautilus ?

1) Tout commence au niveau du kernel. C'est lui qui détecte le 1er l'ajout d'une nouvelle périphérique. Il charge les drivers (modules) nécésaires au bon fonctionnement du nouveau matériel qu'il auto-détecte tout seul. Toutes les caractéristiques technique que le kernel obtient en intérogeant le matériel sont disponible dans /sys. Tout les fichiers qui y sont générés en direct par le kernel et n'ont donc aucune réalité sur le disque dur, et c'est totalement dynamique en fonction des périfériques qu'on ajoute/supprime à chaud.

2) Pour que les programmes extérieurs au kernel puissent acceder au périphérique, il faut nommer ce périphérique en mettant un fichier dans /dev. Sous linux TOUT est fichier, y compris le matériel. On arrive donc à l'entrée en fonction de udev. La "révolution" de cette technique est de laisser à l'utilisateur le soin de nommer le périphérique ! C'est donc udev, un programme utilisateur, qui va etre informé par le kernel qu'un nouveau matériel est connecté et qu'il faut lui donner un nom (fichier) dans /dev. udev va donc, à travers de regles définies dans /etc/udev/, composer ce nom de fichier à utiliser. Pour plus de détails sur cette étape, et sur le controle que vous avez dessu: http://www.reactivated.net/udevrules.php

3) Nous avont donc un périphérique utilisable par les utilisateur à travers un fichier. Il reste à avertir les utilisateurs que ce matériel est disponible. C'est le role de DBUS. On peut résumer son utilité en un service de messagerie. Le kernel poste un ptit message à travers DBUS qui dit "voila une clef usb nommée /dev/sda1" et les programmes utilisateurs qui écoutent de l'autre coté du DBUS recoivent donc ce message et peuvent agir.

4) Mais qui écoute ce fameux DBUS ? et bien c'est là que HAL entre en jeu ! En écoutant le DBUS il est au courant de tout les matériels connectés à l'ordinateur. Le but de HAL est donc de fournir une abstraction du matériel (Hardware Abstraction Layer). Au lieu de dire "le périphérique /dev/sda1" il va etre plus gentil et dire "clef usb du nom de USB_BAR" (USB_BAR étant le nom de la partition fat se trouvant sur la clef usb par exemple). c'est tout de suite plus user-friendly ! HAL va donc meme proposer une internationnalisation des noms, donc au lieu de "floppy disk" vous verrez meme "lecteur de disquette" !!! HAL va aussi regrouper toutes les informations techniques du périphérique et les rendre plus compréhensibles, de cette facon en consultant HAL on poura facilement savoir si un CDROM est un data, audio, ou meme un DVD data, DVD vidéo, etc....

5) gnome-volume-manager va donc etre capable grace à DBUS de savoir quand un CDROM est introduit, et puis il consulte HAL pour savoir ce que c'est que ce CDROM (audio,data,...) et si il voit que c'est un audio il va alors lancer automatiquement un lecteur de cd audio et jouer la musique. Si c'est un data il va alors pouvoir monter la périférique et ouvrir nautilus pour montrer les fichiers.


Mais je croyais qu'il fallait une entrée dans fstab pour monter un cdrom/clef USB

Tout juste, mais encore une fois HAL a pensé à tout ! En effet lorsqu'il remarque qu'un nouveau périphérique "block" est connecté (cad périf montable) il lance un composant de HAL: fstab-sync. fstab-sync va donc alors regarder /etc/fstab et voir si il y a une entrée pour le nouveau périf. Si il n'en voit pas alors il va l'ajouter à la fin du fichier automatiquement ! Par défaut il met les points de montage dans /media. Evidement il garde en mémoire les modifications qu'il a fait, et donc si le périphérique est débranché hop il enleve l'entrée ! On a donc un fstab dynamique.
Evidement fstab-sync a les droits de modification sur /etc/fstab puisque HAL est un deamon lancé au boot de l'ordinateur en tant que root.

Et donc tout ce mécanisme compliqué remplace avantageusement supermount,... ?

Exactement. On vient de voire comment tout est monté automatiquement. Mais le démontage est également prévu. Pour le cas d'une clef USB par exemple, fstab-sync va mettre l'option de montage "sync" ce qui veut dire que les écritures seront directement faites sur le périphérique sans buffer. Donc théoriquement vous pouvez retirer à chaud la clef sans la démonter et tout sera dessu. De plus en la retirant HAL en sera informé et fera le ménage dans fstab. Meme nautilus en sera informé et va donc retirer l'icone du bureau. Pour les CDROM et DVD il y a une manipulation supplémentaire si on veut avoir un effet windowsien complet: enlever le lock du CDROM lorsqu'il est monté. ça se fait tout simplement en mettant l'option dev.cdrom.lock = 0 dans le fichier /etc/sysctl.conf.

Et pourquoi ma disquette marche pas de la meme maniere ?

Et bien pour les lecteurs de disquettes il y a une difficultée suplémentaire. En effet en hardware aucun mécanisme n'est prévu pour prévenir le systeme qu'une disquette est inserée. La seul maniere est de demander explicitement au lecteur si il y a une disquette. Et évidement c'est pas tres propre de demander constament au lecteur de vérifier si une disquette est présente... Mais néamoins fstab-sync sait quand il y a un lecteur de disquette de branché et ajoute donc déjà une ligne dans le fstab pour monter la disquette si on demande explicitement de la monter (en cliquant sur l'iconde dans le poste de travaille dans gnome par exemple). Et comme pour les clef USB, l'option SYNC sera mise, et donc théoriquement on peut enlever la disquette à tout moment. Mais encore une fois aucun mécanisme hardware n'est prévu pour signaler au systeme qu'une disquette est enlevée. Donc le systeme croira toujours que la disquette est montée... ce qui pose probleme... En résumé donc pour les disquettes il n'y a pas de miracle, il faut les démonter manuellement pour rester propre.


Voilà qui est dit. Je suis ouvert à tout les commentaires. Je ne suis absolument pas un expert en la question mais j'ai voulu vous proposer ce que j'ai cru comprendre en lisant un peu partout sur le net. Bref NO WARRANTY !!!



Ca parle bizarre en belgique ... la periferique, la file (fichier), ... :lol:

J'ai pu oubleir 2 - 3 choses .. mais bon ..
_________________
$ ruby -e'puts " .:@BFegiklnorst".unpack("x4ax7aaX6ax5aX15ax4aax6aaX7ax2aX5aX8 \
axaX3ax8aX4ax6aX3aX6ax3ax3aX9ax4ax2aX9axaX6ax3aX2ax4ax3aX4aXaX12ax10aaX7a").join'
Back to top
View user's profile Send private message
anigel
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 1894
Location: Un petit bled pas loin de Limoges ;-)

PostPosted: Fri Feb 18, 2005 4:44 pm    Post subject: Reply with quote

Bien sympatique, cet effort de vulgarisation.

Merci zdra. Je t'envoie en PM une version orthographiquement et syntaxiquement corrigée (à valider par tes soins, les différences minimes entre nos langues peuvent très bien m'avoir enduit d'erreur :lol:).
_________________
Il y a 10 sortes d'individus en ce bas-monde : ceux qui causent binaire, et les autres.
Back to top
View user's profile Send private message
dyurne
Guru
Guru


Joined: 19 Aug 2003
Posts: 475
Location: Lille, France

PostPosted: Fri Feb 18, 2005 8:07 pm    Post subject: Reply with quote

excellente vulgarisation, je pense que ça rend le système plus clair pour tout le monde.
si je peux me permettre une suggestion : quelques approfondissements sur le coté configuration de la chose serait le bien venu.
_________________
- Ah bah nan...
- Si !
Back to top
View user's profile Send private message
zdra
Veteran
Veteran


Joined: 30 Nov 2003
Posts: 1693
Location: Bruxelles, Belgique

PostPosted: Fri Feb 18, 2005 9:35 pm    Post subject: Reply with quote

Voilà, une rapide mise à jours pour dire comment installer tout ça... la théorie c'est bien beau mais la pratique c'est mieux ;)
Back to top
View user's profile Send private message
Gaug
Guru
Guru


Joined: 30 Oct 2003
Posts: 378
Location: Longueuil,Québec,Canada

PostPosted: Fri Feb 18, 2005 9:57 pm    Post subject: Reply with quote

Merci Zdra pour ce Howto .
Back to top
View user's profile Send private message
TGL
Bodhisattva
Bodhisattva


Joined: 02 Jun 2002
Posts: 1978
Location: Rennes, France

PostPosted: Sat Feb 19, 2005 2:07 am    Post subject: Re: [HOWTO] udev, DBUS, HAL, gnome-volume-manager, c'est quo Reply with quote

zdra wrote:
[...]gnome-volume-manager qui est (à ce que je sache) pour l'insant la seul interface final pour que l'utilisateur puisse configurer et personaliser toutes ces fonctionnalitées.[...]

On peut citer aussi Ivman qui occupe une place assez similaire. Rapide comparaison, même si j'ai pas vraiment d'expérience ni avec l'un ni avec l'autre. Enfin je les ai juste essayé un peu comme ça, donc c'est plus une première impression qu'une analyse :

- les deux système sont concurrent, il sont vraiment au même bout de la chaine vis à vis de HAL, et ont des objectifs assez similaire (montage automatique, lancement d'applications, etc.). Ça n'est probablement pas terrible de les utiliser en même temps.

- GVM est lancé uniquement par un utilisateur, genre avec sa session Gnome, alors que Ivman peut être soit un service global configuré par le root (pratique pour les tâches utiles à tous les utilisateurs ou utiles aussi en console comme le montage automatique), soit un lancé par l'utilisateur. J'ai bien l'impression qu'avec Ivman en fait, on peut faire les deux à la fois, genre avoir d'une part le service système qui s'occupe des trucs simple comme le montage de cdroms, et à côté une instance pour l'utilisateur sous X pour les tâches du style lancement du player de DVD. Mais j'ai pas testé cette double utilisation encore, à vérifier donc.

- GVM est très facile à configurer, mais ne traite que les 4 ou 5 besoins les plus courants, alors que Ivman est plutôt galère à configurer (faut dire que je deteste les fichiers de conf en xml, ce qui n'arrange rien) mais extrêment souple (plus d'évennement HAL traités, des possibilité de filtrage pour des devices particuliers et pas seulement des types de devices, etc.)


En fait, mon impression est que Ivman est une meilleures solution (plus générique), mais qui manque cruellement d'une interface graphique pour les utilisateurs non-geek. On pourrait parfaitement imaginer une GUI du type de celle du GVM, mais qui se contenterait d'affecter la config d'Ivman, et on aurait le meilleurs des 2 mondes je pense.
Back to top
View user's profile Send private message
TGL
Bodhisattva
Bodhisattva


Joined: 02 Jun 2002
Posts: 1978
Location: Rennes, France

PostPosted: Sun Feb 20, 2005 8:36 pm    Post subject: Reply with quote

Tiens, je connaissais pas, mais je viens de tomber sur ce paquet : gnome-extra/hal-device-manager. Il donne une vue exhaustive de ce que HAL sait de vos périphériques (cf. ce screenshot). C'est instructif pour mieux comprendre le système, et je pense ça doit pouvoir être très utile par exemple pour configurer Ivman, bref c'est un bon truc à avoir sous le coude.
Back to top
View user's profile Send private message
ikke
Apprentice
Apprentice


Joined: 14 Jan 2005
Posts: 225
Location: Belgium

PostPosted: Tue Feb 22, 2005 9:32 am    Post subject: Reply with quote

HAL n'ecoute pas a DBUS. HAL utilise libsysfs, voit des changements en /sys, et envoie des messages aux logiciels en utilisant DBUS quand quelque chose change.

(Je ne suis pas francophone... Et a ce moment-ci j' utilisie un clavier qwerty, donc pas d'accents :()
_________________
Working day and night to enhance your Linux Desktop experience :)
Blog
Back to top
View user's profile Send private message
zdra
Veteran
Veteran


Joined: 30 Nov 2003
Posts: 1693
Location: Bruxelles, Belgique

PostPosted: Tue Feb 22, 2005 4:37 pm    Post subject: Reply with quote

ah ? c'est pas ce que j'avais lu sur un blog... je vais me renseigner et corriger ça :)

Merci ;)
Back to top
View user's profile Send private message
DidgeriDude
Guru
Guru


Joined: 30 Jan 2005
Posts: 349

PostPosted: Tue Mar 08, 2005 11:54 pm    Post subject: Reply with quote

Salut et merci beaucoup pour ces infos.
J'ai par contre une petite question : Qu'en est-il alors de l'utilisation de hotplug ? Peut-on le supprimer ? Idem pour coldplug ?
Ce serait cool car ça éviterait les scripts de ouf de montage automatique, avec analyse de partitions et tout et tout...
Back to top
View user's profile Send private message
zdra
Veteran
Veteran


Joined: 30 Nov 2003
Posts: 1693
Location: Bruxelles, Belgique

PostPosted: Thu Mar 10, 2005 8:25 am    Post subject: Reply with quote

à mon avis:

- coldplug sert à détecter le matériel à froid. c'est à dire le matériel branché lors du démarage de l'ordinateur. Le but étant d'informer le kernel quels modules charger pour avoir le support de ce matériel. J'avoue que je comprends pas pourquoi c'est un programme extérieur au kernel, il me semble que celui-ci devrait savoir le faire tout seul...
- hotplug est un deamon qui fait le meme travaille mais pour les matos connecté à chaud. cad les matos que tu connecte apres que l'ordinateur soit déjà démarré, comme de l'USB, ou meme certaines cartes PCI.
Back to top
View user's profile Send private message
spider312
Veteran
Veteran


Joined: 02 Oct 2004
Posts: 1274
Location: France > Savoie > Chambery

PostPosted: Fri Mar 11, 2005 2:10 am    Post subject: Reply with quote

Tu ne réponds pas vraiment à la question, mais non on ne peut pas se passer de hot/coldplug (enfin pas plus avec udev que sans, tu peux toujours t'en passer avec un noyau monolithique ou une bonne maitrise du chrgement es modules)

En effet, cet (excelent) howto/vulgarisation est ambigu sur ce point
Quote:
1) Tout commence au niveau du kernel. C'est lui qui détecte le 1er l'ajout d'un nouveau périphérique. Il charge les drivers (modules) nécessaires au bon fonctionnement du nouveau matériel qu'il auto-détecte tout seul.
en fait, c'est faux, là tu parles de ta vision idylique du kernel, mais pas de ce qu'il en est actuellement

Sinon, je suis dégouté par les dépendances de hal-device-manager , tout gnome y est, c'est quand même abusé pour juste afficher des périphériques :cry: y'aurait pas une application 'alternative' ?

Ah une petite question, quand je branche ma clef USB, j'ai pleins de messages d'erreurs dans la console depuis laquelle j'ai lancé gnome-volume-manager (et bien sur, rien ne se monte), mais bon tout se mélange avec les commandes que je tape, et puis ces messages ne sont pas humainement compréhensibles, y-a-t-il un log ou un moyen quelconque de suivre ce qui se passe lorsque je branche un périphérique ?
Back to top
View user's profile Send private message
DidgeriDude
Guru
Guru


Joined: 30 Jan 2005
Posts: 349

PostPosted: Fri Mar 11, 2005 3:38 am    Post subject: Reply with quote

Vi en fait, il répondait po trop à ma question mais c'est po grave... :lol:
Donc, si je comprends bien, il est nécessaire de garder cold/hotplug (pour manager udev ?) mais ma question reste : Ai-je encore besoin de mon super beau (gros, en fait) script à moi 8) qui me montait automatiquement mes partitions ? Sachant que je suis sous FVWM, je ne suis pas super chaud pour installer GVM...
Back to top
View user's profile Send private message
ikke
Apprentice
Apprentice


Joined: 14 Jan 2005
Posts: 225
Location: Belgium

PostPosted: Fri Mar 11, 2005 9:39 am    Post subject: Reply with quote

spider312 wrote:
Sinon, je suis dégouté par les dépendances de hal-device-manager , tout gnome y est, c'est quand même abusé pour juste afficher des périphériques :cry: y'aurait pas une application 'alternative' ?
Code:
lshal | less

_________________
Working day and night to enhance your Linux Desktop experience :)
Blog
Back to top
View user's profile Send private message
ikke
Apprentice
Apprentice


Joined: 14 Jan 2005
Posts: 225
Location: Belgium

PostPosted: Fri Mar 11, 2005 9:40 am    Post subject: Reply with quote

DidgeriDude wrote:
Sachant que je suis sous FVWM, je ne suis pas super chaud pour installer GVM...
Code:
emerge -v ivman

_________________
Working day and night to enhance your Linux Desktop experience :)
Blog
Back to top
View user's profile Send private message
spider312
Veteran
Veteran


Joined: 02 Oct 2004
Posts: 1274
Location: France > Savoie > Chambery

PostPosted: Fri Mar 11, 2005 12:49 pm    Post subject: Reply with quote

ikke wrote:
spider312 wrote:
Sinon, je suis dégouté par les dépendances de hal-device-manager , tout gnome y est, c'est quand même abusé pour juste afficher des périphériques :cry: y'aurait pas une application 'alternative' ?
Code:
lshal | less
hmmm, ok merci ;)

Mais en fait je parlais d'une alternative, pas au même titre que vi est une alternative à OpenOffice
Back to top
View user's profile Send private message
spider312
Veteran
Veteran


Joined: 02 Oct 2004
Posts: 1274
Location: France > Savoie > Chambery

PostPosted: Sun Mar 13, 2005 5:18 pm    Post subject: Reply with quote

Je suis en train de me documenter sur ivman, mais le wiki fr de gentoo est un peu light à ce sujet (je cherche surtout des infos sur la config) donc si quelqu'un a une doc potable, qu'il fasse tourner le lien :wink:

Par contre, on ne peut pas l'utiliser en root+user comme ça a été dit, enfin chez moi il affiche une erreur comme quoi il ne peut pas chopper les infos de dbus, ce qui parait logique, et c'est très dommage, un système client-serveur aurait-été meilleur je pense, que chaque user puisse avoir ses action et qu'il y ait des actions pour tout le monde

Enfin ça viendra bien un jour, on en est à peine au balbutiements de cette technologie ...
Back to top
View user's profile Send private message
titix
Guru
Guru


Joined: 01 Nov 2003
Posts: 343
Location: Paris, France

PostPosted: Tue Mar 15, 2005 7:20 pm    Post subject: Reply with quote

Voilà un howto très intéressant, mais si je puis me permettre, je trouve que celà manque encore un peu de clareté. Ce serai bien de développer un plus ;)

Anyway bravo zdra :D
_________________
titix
« La route est longue... mais la voie est libre ! »
Back to top
View user's profile Send private message
zdra
Veteran
Veteran


Joined: 30 Nov 2003
Posts: 1693
Location: Bruxelles, Belgique

PostPosted: Wed Mar 16, 2005 8:30 am    Post subject: Reply with quote

J'y ai expliqué ce que je sais, pour le reste je ne suis pas un professionnel du domaine. Donc si tu vois des choses à ajouter ou modifier je suis évidement ouvert aux propositions ;)
Back to top
View user's profile Send private message
spider312
Veteran
Veteran


Joined: 02 Oct 2004
Posts: 1274
Location: France > Savoie > Chambery

PostPosted: Wed Mar 16, 2005 12:10 pm    Post subject: Reply with quote

ce serait bien de glisser un petit mot sur ivman, pour ceux qui n'ont pas envie d'installer la moitié de gnome

et puis parler un peu de résolution de problèmes aussi (par exemple je branche une lef USB, ça ne fais rien, qu'est-ce que je peux faire :-\)
Back to top
View user's profile Send private message
lithium
Apprentice
Apprentice


Joined: 03 Nov 2002
Posts: 208
Location: Lyon, France

PostPosted: Sun Mar 27, 2005 4:40 am    Post subject: Reply with quote

Il m'a toujours sembler que la chaine prennait cette forme : noyau -> udev/hotplug -> hal -> d-bus > gvm

j'explique :
- je branche ma clé
- le noyau detecte l'ajout d'un nouveau materiel
- udev qui scrute le evenenements voit ça et informe hotplug qui charge le pilote correspondant en fonction des informations dans /sys
- udev/hotplug informe hal qu'une clé USB a été branchée qui à son tour fait tourner l'info dans d-bus
- gvm recois le paquet et monte le bordel

ça me parrait plus logique non ?
Back to top
View user's profile Send private message
Stanislas
Tux's lil' helper
Tux's lil' helper


Joined: 09 Oct 2003
Posts: 83
Location: France, Lyon

PostPosted: Thu Mar 31, 2005 2:09 pm    Post subject: Reply with quote

Je crois que c'est plutot :
- je branche ma clé
- hotplug détecte l'ajout d'un nouveau materiel (en s'appuiant sur le noyau ... a détailler comment je sais pas trop) et charge les bon modules.
- udev qui scrute le evenenements de hotplug consulte sysfs pour créer/supprimer une entrée dans /dev

... La suite ... j'en suis pas encore là. J'essaie de me dépatouiller à comprendre tout ça ! Arrètez moi si je me trompes !

Je vais essayer de complèter un peu ce petit tuto (fait pas être pressé j'ai pas beaucoup de temps !)
Back to top
View user's profile Send private message
Ti momo
Apprentice
Apprentice


Joined: 29 Jun 2004
Posts: 198
Location: Paris

PostPosted: Wed Apr 06, 2005 5:50 pm    Post subject: Reply with quote

Bah parfait rien à dire sur ce ptit HowTo
_________________
Avant de poster utilise la fonctions recherche qui est ton ami : https://forums.gentoo.org/search.php
Mon blog : http://blog.yacoubi.fr
Back to top
View user's profile Send private message
dju`
Retired Dev
Retired Dev


Joined: 11 Feb 2003
Posts: 370

PostPosted: Mon May 16, 2005 4:54 pm    Post subject: Reply with quote

la correction d'ikke (le dev de ivman) n'a pas été apportée au tuto (très bon par ailleurs):

la clef se branche.
le kernel le detecte, et cree un /dev/sda par exemple, grace à udev (et donc hotplug). le kernel modifie aussi /sys.
hal lis dans /sys en utilisant libsysfs. puis hal envoie un message sur le dbus "system". ce n'est donc pas le kernel qui envoie des messages directement sur le dbus. ensuite ivman ou gvm écoutent le dbus, et récupèrent les messages émis par hal. hal n'écoute pas le dbus.

voila comment je vois la chose.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum