Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1673 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Installation

  [ HAL - DBUS ] Comment monter automatiquement un périphérique :

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ HAL - DBUS ] Comment monter automatiquement un périphérique :

n°498644
udok
La racaille des barbus ©clémen
Posté le 08-06-2004 à 14:52:59  profilanswer
 

EDIT du 20/12/2004 :
bon finalement gnome-volume-manager c'est bien donc tant pis pour les dépendances :o
par contre y-a des trucs qui merdent, donc je vais poster, j'espere que vous aurez des réponses :o
 
 
 
 
 
quand j'essaie d'installer hal, ma debian veut installer tout ça :

 dbus-glib-1 gconf2 gnome-keyring hal libbonobo2-0 libbonobo2-common
  libbonoboui2-0 libeel2-2 libeel2-data libgconf2-4 libgnome-desktop-2
  libgnome-keyring0 libgnome2-0 libgnome2-common libgnomeprint2.2-0
  libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common
  libgnomeui-0 libgnomevfs2-0 libgnomevfs2-common libhal0 libnautilus2-2
  liborbit2 libpanel-applet2-0 python2.3-dbus python2.3-gnome2
  python2.3-pyorbit


hal c'est bien le truc de freedesktop ? c'est pas censé être indépendant d'un desktop ?  :heink:  
y-en a qui ont testé et qui pourraient me dire si ça marche bien ?
 
 
 
EDIT - Solution :
http://forum.hardware.fr/hardwaref [...] tm#t589003
 
 
EDIT - Solution 2 :
Encore mieux et plus simple : le support de hal et dbus est maintenant inclu dans kde, donc il n'y a rien d'autres à faire que d'installer hal et dbus, kde s'occupant du reste (l'icone du périphérique apparait toute seule sur le bureau, etc...)


Message édité par udok le 28-07-2005 à 17:31:27

---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
mood
Publicité
Posté le 08-06-2004 à 14:52:59  profilanswer
 

n°498752
eL_Shaman_​__
Plop.
Posté le 08-06-2004 à 16:26:58  profilanswer
 


elshaman@camus:~$ apt-cache show hal
Package: hal
Priority: optional
Section: admin
Installed-Size: 576
Maintainer: Martin Waitz <tali@debian.org>
Architecture: i386
Version: 0.2.91-1
Depends: dbus-1 (>= 0.21), dbus-glib-1 (>= 0.21), libc6 (>= 2.3.2.ds1-4), libexpat1 (>= 1.95.6), libglib2.0-0 (>= 2.4.1), libhal0, python (>= 2.3), python (<< 2.4), python2.3-dbus, python2.3-gnome2, python2.3-glade2, adduser, pciutils, usbutils
Suggests: udev
[...]


 
On n'a pas les mêmes dépendances...
 
 
D-Bus ou HAL ne feront rien tout seuls sur ton système.
 
D-Bus émet des signaux lors de certains évênements, par exemple le branchement d'un périphérique ou l'insertion d'un CD.
 
HAL réalise une abstraction du matériel.
Pour tout CD-ROM par exemple, on va pouvoir trouver des informations toujours de la même façon (utilisation de clés spécifiques) pour différents lecteurs.
On peut voir tout son matériel en lançant « hal-device-manager » (il est écrit en python).
 
 
Des logiciels vont ensuite utiliser ces deux systèmes.
Par exemple, « gnome-volume-manager » lance gnome-cd à l'insertion d'un CD audio, totem pour un DVD, etc.
gnome-volume-manager « écoute » les messages de D-Bus.
 
 
 
Actuellement D-Bus et HAL semblent fonctionner correctement sur mon système mais toutes les possibilités souhaitées n'ont pas encore été implémentées et le protocole de communication pour D-Bus n'est pas totalement finalisé (il le sera à la version 1.0).
 
Quant à gnome-volume-manager, il montre un peu comment sera Gnome 2.8 ou une prochaine version de KDE avec la reconnaissance du matériel. Pour l'instant il semble fonctionner correctement.

n°498768
udok
La racaille des barbus ©clémen
Posté le 08-06-2004 à 16:36:50  profilanswer
 

eL_Shaman___ a écrit :


elshaman@camus:~$ apt-cache show hal
Package: hal
Priority: optional
Section: admin
Installed-Size: 576
Maintainer: Martin Waitz <tali@debian.org>
Architecture: i386
Version: 0.2.91-1
Depends: dbus-1 (>= 0.21), dbus-glib-1 (>= 0.21), libc6 (>= 2.3.2.ds1-4), libexpat1 (>= 1.95.6), libglib2.0-0 (>= 2.4.1), libhal0, python (>= 2.3), python (<< 2.4), python2.3-dbus, python2.3-gnome2, python2.3-glade2, adduser, pciutils, usbutils
Suggests: udev
[...]


 
On n'a pas les mêmes dépendances...


si si, mais en fait moi j'ai collé ce qu'il me sort quand je fais apt-get install
comme les paquets dont dépend hal ont aussi des dépendances, forcément, y-a d'autres packages à installer
 

eL_Shaman___ a écrit :


D-Bus ou HAL ne feront rien tout seuls sur ton système.
 
D-Bus émet des signaux lors de certains évênements, par exemple le branchement d'un périphérique ou l'insertion d'un CD.
 
HAL réalise une abstraction du matériel.
Pour tout CD-ROM par exemple, on va pouvoir trouver des informations toujours de la même façon (utilisation de clés spécifiques) pour différents lecteurs.
On peut voir tout son matériel en lançant « hal-device-manager » (il est écrit en python).


merci mais j'ai lu la doc donc je sais à peu près tout ça :D
 

eL_Shaman___ a écrit :


Des logiciels vont ensuite utiliser ces deux systèmes.
Par exemple, « gnome-volume-manager » lance gnome-cd à l'insertion d'un CD audio, totem pour un DVD, etc.
gnome-volume-manager « écoute » les messages de D-Bus.


bah c'est ça qui me gène :o
ça devrait pas être dans les dépendances pour moi, on peut utiliser un cdrom sans utiliser gnome normalement
hal est censé être une couche d'abstraction pour éviter les systèmes propiétaires, donc mettre gnome en dépendance, c'est pas terrible je trouve
au mieux ça devrait être dans les suggest d'apres moi
c'est une erreur du mainteneur chez debian ou c'est hal qui est fait comme ça et qui a besoin de gnome ?
 
en attendant je regarde du coté de submount mais j'avoue que l'option hal me séduirait plus si elle n'était pas dépendante de gnome
vivement que ça soit finalisé  [\:udok]


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°498811
eL_Shaman_​__
Plop.
Posté le 08-06-2004 à 17:29:11  profilanswer
 

Mouais, il y a « python2.3-gnome2 » qui veut installer une bonen partie de Gnome.
Je pense que c'est une erreur.
Il me semble que HAL ne nécessite que D-Bus, GLib et Python. Je ne vois pas ce que Python-gnome vient faire là... Ou alors à cause du programme pour afficher le matériel sur sa machine (hal-device-manager) ?

n°588602
udok
La racaille des barbus ©clémen
Posté le 10-11-2004 à 23:54:44  profilanswer
 

bon, y-a ivman-ng qui a l'air pas mal mais j'arrive pas à compiler le cvs donc si qq'un peut m'aider, ça m'arrange :o
(quelle persévérence, 5 mois après :sol:)


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°588896
udok
La racaille des barbus ©clémen
Posté le 11-11-2004 à 15:22:18  profilanswer
 

(vieille version enlevée)
ouala !  :na:
non mé !  :o


Message édité par udok le 11-11-2004 à 18:53:08

---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°589003
udok
La racaille des barbus ©clémen
Posté le 11-11-2004 à 18:52:39  profilanswer
 

bon, spa rock stable quand le kernel merdoit quand même :o
d'ailleurs je viens de me chopper dans mes logs un magnifique :
program eject is using a deprecated SCSI ioctl, please convert it to SG_IO
[:mlc2]
mais bon, ça ça a pas fait planté
par contre quand le kernel perd la main pendant un instant sur le lecteur, j'ai le premier while qui devient faux donc ça s'arrete ... m'enfin j'ai pas trop le choix :o
 
mais sinon ça marche nickel :heink:
 
 
vouala le code que je pense pas retouché vu que ça marche comme ça :
 

Code :
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <err.h>
  5. #include <unistd.h>
  6. #include <sys/types.h>
  7. #include <sys/stat.h>
  8. #include <fcntl.h>
  9. // #include <sys/mount.h>
  10. // #include <fstab.h>
  11. #include <hal/libhal.h>
  12. // void hal_device_added(LibHalContext * ctx __attribute__ ((__unused__)),const char *udi) {}
  13. int main(void)
  14. {
  15. LibHalContext *hal_ctx;
  16. const char *udi_cdrom = "/org/freedesktop/Hal/devices/block_22_0";
  17. // struct fstab* odf;                                                   // occurence_dans_fstab
  18. char * chemin = malloc (sizeof (char) * 256);                           // 255 caractères
  19. int n = 0;                                                              // taille du nom du périphérique
  20.     int status;                                                             // status du processus fils au retour du fork
  21. int fderr=open("/tmp/scancd.log",O_WRONLY|O_CREAT|O_APPEND,S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH);    // sortie erreur
  22. if ( fderr == -1 )
  23. {
  24.  warn("Erreur à l'ouverture du fichier" );
  25.  return -5;
  26. }
  27. if ( dup2(fderr,2) == -1 )
  28. {
  29.  warn("Erreur lors de la duplication de la sortie d'erreur" );
  30.  return -4;
  31. }
  32. fputs("Début du log\n",stderr);
  33. LibHalFunctions hal_functions =
  34. {
  35.  NULL, //      hal_mainloop_integration,
  36.  NULL, //      hal_device_added,
  37.  NULL, //      hal_device_removed,
  38.  NULL, //      hal_device_new_capability,
  39.  NULL, //      hal_device_lost_capability,
  40.  NULL, //      hal_property_modified,
  41.  NULL, //      hal_device_condition
  42. };
  43. hal_ctx = hal_initialize(&hal_functions, FALSE);
  44. if (!hal_ctx)
  45. {
  46.  warn("Erreur lors de l'initialisation de HAL\n" );
  47.  return -1;
  48. }
  49. // printf("Test : ça existe ?  => %d\n",hal_device_exists(hal_ctx,udi_cdrom));
  50. // printf("Création d'un nouveau device => %s \n",hal_agent_new_device(hal_ctx));
  51. if (!hal_device_exists(hal_ctx,udi_cdrom)) { warn("Le périphérique n'existe pas" ); return -2; }
  52. else
  53. while ( 1 )
  54.      if (!strcmp( hal_device_get_property_string( hal_ctx, udi_cdrom, "storage.drive_type" ) , "cdrom" ) )
  55. {
  56.  while (!hal_device_get_property_bool(hal_ctx,udi_cdrom,"block.have_scanned" )) sleep(5);
  57.  // odf = getfsspec( hal_device_get_property_string( hal_ctx, udi_cdrom, "block.device" ) );  // On peut aussi utiliser getmntent
  58.  n = strlen (hal_device_get_property_string( hal_ctx, udi_cdrom, "block.device" ) );
  59.  strncpy (chemin, hal_device_get_property_string( hal_ctx, udi_cdrom, "block.device" ), n <= 255 ? n : 255);
  60.  if (!fork())
  61.   if ( execl( "/bin/mount", "mount", chemin, NULL ) ) warn("Erreur lors du montage" );
  62.             else wait(&status);
  63.  while (hal_device_get_property_bool(hal_ctx,udi_cdrom,"block.have_scanned" )) sleep(5);
  64. }
  65.      else sleep(5);
  66. // char *hal_agent_new_device (LibHalContext *ctx);
  67. return 0;
  68. }


 
j'espere que ça interesse qq'un :o
dites moi ce que vous en pensez
 
si vous voulez l'utiliser pour vous, faut que vous changiez la variable udi_cdrom pour quelque chose qui vous correspond, avoir une bonne entrée dans le fstab, et mettre un initscript dans /etc/dbus-1/event.d/, et le tour est joué (faut hal et dbus aussi bien sur)


Message édité par udok le 13-11-2004 à 01:48:03

---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°589036
Tomate
Posté le 11-11-2004 à 19:15:54  profilanswer
 

flag


---------------
:: Light is Right ::
n°589469
udok
La racaille des barbus ©clémen
Posté le 12-11-2004 à 14:44:21  profilanswer
 

personne n'aime mon beau programme ?  [:sisicaivrai]


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°589470
Tomate
Posté le 12-11-2004 à 14:44:34  profilanswer
 

nan [:mrbrelle]


---------------
:: Light is Right ::
mood
Publicité
Posté le 12-11-2004 à 14:44:34  profilanswer
 

n°589473
udok
La racaille des barbus ©clémen
Posté le 12-11-2004 à 14:46:13  profilanswer
 


 
[:sisicaivrai]
tu utilises quoi toi pour monter automatiquement ton lecteur de cd ? (sous linux bien sur [:kiki])


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°589477
Mjules
Modérateur
Parle dans le vide
Posté le 12-11-2004 à 14:47:20  profilanswer
 

gentoo (pas la distro)


Message édité par Mjules le 12-11-2004 à 14:47:30

---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°589479
Tomate
Posté le 12-11-2004 à 14:48:04  profilanswer
 

udok a écrit :

[:sisicaivrai]
tu utilises quoi toi pour monter automatiquement ton lecteur de cd ? (sous linux bien sur [:kiki])

j'ai pas de lecteur cd sur ma passerelle [:mrbrelle]


Message édité par Tomate le 12-11-2004 à 14:48:32

---------------
:: Light is Right ::
n°589484
udok
La racaille des barbus ©clémen
Posté le 12-11-2004 à 14:51:06  profilanswer
 

Mjules a écrit :

gentoo (pas la distro)


 
automatiquement ? :??:
il s'y prend comment ?


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°589486
udok
La racaille des barbus ©clémen
Posté le 12-11-2004 à 14:51:36  profilanswer
 

tomate a écrit :

j'ai pas de lecteur cd sur ma passerelle [:mrbrelle]


 
tu utilises plus linux en desktop ?  :'(
misère :pfff:


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°589487
Tomate
Posté le 12-11-2004 à 14:53:23  profilanswer
 

udok a écrit :

tu utilises plus linux en desktop ?  :'(
misère :pfff:

nan j'en ai eu ma claque :/


---------------
:: Light is Right ::
n°589489
Mjules
Modérateur
Parle dans le vide
Posté le 12-11-2004 à 14:53:32  profilanswer
 

udok a écrit :

automatiquement ? :??:
il s'y prend comment ?

il y a une option dans gentoo (le file manager) qui permet de monter automatiquement un périphérique quand tu te rends dans son dossier (il invoque tout simplement mount) et de le démonter après
 
évidemment, sorti du soft, ça marche pas :D


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°589490
udok
La racaille des barbus ©clémen
Posté le 12-11-2004 à 14:55:03  profilanswer
 

tomate a écrit :

nan j'en ai eu ma claque :/


 
ça marche du feu de dieu pourtant maintenant ... qu'est ce qui allait pas ?  :??:


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°589491
udok
La racaille des barbus ©clémen
Posté le 12-11-2004 à 14:55:35  profilanswer
 

Mjules a écrit :

il y a une option dans gentoo (le file manager) qui permet de monter automatiquement un périphérique quand tu te rends dans son dossier (il invoque tout simplement mount) et de le démonter après
 
évidemment, sorti du soft, ça marche pas :D


 
ah bah c'est bien ce que je pensais ... en plus il est laid comme tout ce soft  [:mrbrelle]


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°589493
Tomate
Posté le 12-11-2004 à 14:59:56  profilanswer
 

udok a écrit :

ça marche du feu de dieu pourtant maintenant ... qu'est ce qui allait pas ?  :??:

le support du port raid SATA qui me permet d'avoir un port IDE supplémentaire, comme j'ai 4 durs + 2 lecteurs, qui ne fonctionne plus sur le 2.6 :/


---------------
:: Light is Right ::
n°589499
udok
La racaille des barbus ©clémen
Posté le 12-11-2004 à 15:01:54  profilanswer
 
n°589941
udok
La racaille des barbus ©clémen
Posté le 13-11-2004 à 12:50:27  profilanswer
 

pourquoi j'ai les mount qui defunct là bordel !! :o
j'ai fait un wait, y-en a marre :pfff:

n°594971
belgique
Posté le 23-11-2004 à 16:17:09  profilanswer
 

J'ai installé le support hal pour gnome sous ma gentoo, il n'y a pas à dire, c'est une révolution :)

n°607813
udok
La racaille des barbus ©clémen
Posté le 20-12-2004 à 19:55:02  profilanswer
 

bon ok, gnome-volume-manager c'est bien en fait [:romf]

n°607814
Tomate
Posté le 20-12-2004 à 19:59:01  profilanswer
 

[:joce]


---------------
:: Light is Right ::
n°607815
udok
La racaille des barbus ©clémen
Posté le 20-12-2004 à 20:01:19  profilanswer
 

quand j'essaie de démonter un périphérique qui a été monter par gnome-volume-manager, il me dit qu'il peut pas parce que je suis pas root
c'est le fonctionnement normal ou c'est un pb avec pmount ?
sachant que j'ai bien le setuid root sur pmount et que j'ai bien inscrit mon utilisateur dans le group plugdev
 
deuxieme question : sont pourris les noms donnés dans /media, y-a une solution pour mettre des noms un peut plus parlant ?  :??:
en attendant je vais mettre dans le fstab mais c'est dommage, j'avais rien eu à configurer jusque là et je trouvais ça bien [:romf]


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°607816
Tomate
Posté le 20-12-2004 à 20:04:31  profilanswer
 

vraiment trop pratique tout ça dis donc [:gratgrat]


Message édité par Tomate le 20-12-2004 à 20:04:39

---------------
:: Light is Right ::
n°607821
udok
La racaille des barbus ©clémen
Posté le 20-12-2004 à 20:15:45  profilanswer
 

je vais avoir du mal à m'en sortir sans la ligne de commande là [:joce]


---------------
Non au projet de loi DADVSI ! (droits d'auteurs)
n°607826
Tomate
Posté le 20-12-2004 à 20:19:41  profilanswer
 

udok a écrit :

je vais avoir du mal à m'en sortir sans la ligne de commande là [:joce]


ah bah tiens ... :D


---------------
:: Light is Right ::
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Installation

  [ HAL - DBUS ] Comment monter automatiquement un périphérique :

 

Sujets relatifs
Comment faire pour lancer une iso monter ?[Debian Sid] Comment lancer automatiquement hotkeys?
Quel OS pour monter 1 servuer http???Impossible de monter un partge SMB
Probleme pour monter un NFS avec fstab :/Monter un partage SMB au demarrage et rediriger /home dessus ?
Fstab : monter la carte mémoire au démarrage (/dev/sda1)monter un disque usb2 fat 32 : problème
Plus de sujets relatifs à : [ HAL - DBUS ] Comment monter automatiquement un périphérique :


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR