[Topic Decouverte, howto] Projet Utopia

Q : Utopia, kezako ?
A : Utopia c’est l’ensemble des composants :
udev (User Device ? (coupler à hotplug)(compatible Linux 2.6 uniquement)) : http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
hal (Hardware Abstraction Layer) : http://freedesktop.org/Software/hal
dbus (Data-Bus ?) : http://freedesktop.org/Software/dbus
gnome-volume-manager : je ne trouve pas sa homepage (composant Gnome)

Qui permet à Gnome d’avoir “conscience” du materiel.
Ça permet de (de)monter DVD, CD (il reconnait le type de média, donc s’il tombe sur un cdda, il lance le logiciel de lecture, si c’'est un cdrw, il lance le logiciel de gravure, si c’est un mixte il te demande quoi faire, …), APN, clé USB, etc… automatiquement :slight_smile:

Petit howto, réaliser sous Gentoo, à adapter, donc.

D’abord on installe hotplug, puis udev.
Rien de particulier pour hotplug, c’est tout simple : emerge -av hotplug.
Pour udev voilà le guide Gentoo : http://www.gentoo.org/doc/fr/udev-guide.xml
En résumé :
emerge -av udev
Si vous avez activer l’option du noyau devfs “mount at boot time” passez le paramètre de boot “devfs=nomount” ou “gentoo=nodevfs”.
Vous pouvez laissez devfsd installer sur le système, le noyau choisira udev par defaut.
Rebootez

Ensuite les autres composants :
emerge -av hal dbus gnome-volume-manager
Sous Gentoo il y a un bug mineur, hal ne cherche pas l’executable udevinfo au bon endroit.
alors un p’tit coup de ln -s /bin/udevinfo /sbin/udevinfo et ça roule.
ensuite demarrez le demon hal (qui demarrera automatiquement dbus) :
/etc/init.d/hald start
Executez hal-device-manager pour verifier que tout se passe bien.
Si oui executez gnome-volume-properties (ou menu gnome applications > preferences du bureau > stockage amovible)
pour regler vos preferences, et… branchez votre clé USB, inserer vos CD ou autre, ça doit être OK :slight_smile:

Petites astuces :
Pour démonter les lecteurs CD/DVD automatiquement en appuyant sur le boutons eject :
tapez en root : echo 0 >/proc/sys/dev/cdrom/lock
Et si vous voulez que ça devienne permanent, entrez dans /etc/sysctl.conf : dev.cdrom.lock = 0

Pour utiliser gvm en dehors de gnome, executez simplement gnome-volume-manager&
au demarrage de la session (un script dans ~/Choices/ROX-Session/AutoStart/ si ROX-Session :))

Pour lancer un autre file manager que Nautilus pour parcourir un volume :
Il faut se rendre à la ligne 52 du fichier manager.c dans le dossier src
du paquet gnome-volume-manager et remplacer la commande nautilus blabla %m par rox %m
Si vous voulez utiliser rox.

Ubuntu Linux intègre de base cette technologie.

PS : Projet Gnome, mais je l’utilise sans soucis sous Fluxbox :slight_smile:
PPS : Je crois qu’il existe un “traducteur” dbus vers dcop (KDE), mais je n’en sait pas plus
PPPS : Illustration (hal-device-manager et gnome-volume-properties) :smiley:
http://lithmaster.free.fr/content/images/desktop/_thumb/Utopia.jpg

Interessant

Je vais tester ca sur mon nouveau systeme

Est-ce que gvm est nécessaire ? Je veux dire par là, est-ce que ça marche avec KDE ou alors en mode texte pur ?

UDEV oui

Le reste (GVM) n’est qu’une extension pour les autorun

En effet, c’est pas mal. Ça crée automatiquement les points de montage et ça ajoute les entrées dans le fstab. Maintenant, ce que je voudrais savoir c’est comment faire pour que ça monte automatiquement les CDRoms par exemple

Il existe aussi magicdev (toujours Gnome) et ivman (démon sans GUI)
Sinon le mode graphique pour gvm n’est necessaire que pour la configuration, ensuite gvm tourne comme un simple démon.

Dumbledore : normalement les CD doivent être montés automatiquement, si tu n’y arrive pas alors tu as le problème avec l’emplacement d’udevinfo.

tape dbus-monitor --system et insère un CD, si rien ne défile passe moi un which udevinfo :slight_smile:

ça marche pas :

[fixed]pgentoo log # which udevinfo
/sbin/udevinfo
[/fixed]

" dbus-monitor --system" m’affiche bien du charabia quand j’insère un CD, il me crée bien les points de montage dans /media et ajoute bien les entrées dans le fstab mais il ne monte pas…

Une fois que ce sera réglé, j’aimerais bien trouver comment faire pour qu’il me monte mon /dev/hdc toujours dans /mnt/cdrom et idem pour mon dd externe dans /mnt/usb (là ça se complique)

il n’a jamais rien monter dans /media chez moi, il s’est toujours conformer à mes règles fstab.

je précise que j’utilise pas Gnome au fait…

Si je foure le CD dans le lecteur et que je fais un “ls /mnt/cdrom”, ça m’affiche rien… Par contre, le dbus-monitor lui est assez bavard.

moi non plus :smiley:
Enfin mon desktop n’est pas gnome, mais à tendance quand même, j’utilise evolution, gaim, Galeon, gvm, …
Bref, que les meilleurs morceaux :smiley:

en tout cas, il ne me monte pas mes CD…

1er test : un cd audio : j’essaie de le faire ouvrir avec xmms mais visiblement j’ai pas trouvé la bonne commande, mais toujours est il que xmms s’ouvre donc gvm a bien rempli son role (a approfondir donc)
2e test : un cd d’half life . Une fenetre s’ouvre en me disant que cd contient a la fois des données et des pistes audio. Je clique sur parcourir, evidemment ça marche pas j’ai pas nautilus. Donc quel fichier faut il modifier pour utiliser rox par exemple (L33thium doit savoir je crois :slight_smile:
de plus mon cd se retrouve monté en /media/dvdrom ce qui ne correspond pas au fstab
La encore c’est assez bizarre
je continue a chercher tout ça, c’est assez interessant:)

Pour lancer un autre file manager que Nautilus pour parcourir un volume :
Il faut se rendre à la ligne 52 du fichier manager.c dans le dossier src
du paquet gnome-volume-manager et remplacer la commande nautilus blabla %m par rox %m
:slight_smile:

Merci :slight_smile:
Je vais essayer de voir ce qu’il y a comme équivalent/passerelle du coté kde/dcop.

j’ai testé ivman que j’ai moins de mal a gerer correctement chez moi


INSTALLATION

sous gentoo : on demasque ivman puis on emerge tranquillement
une seule version disponible a l’heure actuelle :
[fixed]

  • sys-apps/ivman :
    [ ~I] 0.3 (0) OVERLAY
    [/fixed]

CONFIGURATION

-Choisir les points de montage :
il faut editer /etc/ivman/IvmConfigMappings.xml
*par defaut ce fichier ne comprend aucune regle de montage donc par defaut si vous inserez un cd dans /dev/hdc et qu’il est montable le programme effectue simplement un mount /dev/hdc, c’est donc le fstab qui est utilisé. C’est cela que je n’arrivais pas a faire avec gvm
*Mais supposons que vous ayez créé des regles udev pour certains devices :
Par exemple :
[fixed]
BUS=“ide”, KERNEL=“hdc”, NAME="%k", SYMLINK=“cdroms/dvd%n”
BUS=“ide”, KERNEL=“hdd”, NAME="%k", SYMLINK=“cdroms/cdrw%n”
[/fixed]
et que vous les utilisiez dans le fstab :
[fixed]
/dev/cdroms/dvd /mnt/cdrom iso9660 noauto,ro 0 0
/dev/cdroms/cdrw /mnt/graveur iso9660 noauto 0 0
[/fixed]
dans ce cas vous pouvez creer des regles de mapping. dans notre cas :
[fixed]
ivm:Map device="/dev/hdc" maps="/dev/cdroms/dvd"
ivm:Map device="/dev/hdd" maps="/dev/cdroms/cdrw"
[/fixed]

-Specifier les types de devices a monter et les actions a executer :
il faut editer /etc/ivman/IvmConfigActions.xml
le fichier est assez clair
je n’ai pas encore eu le temps de tester pour les dvd
pour les cdaudio ça marche avec play, je cherche avec xmms mais rien de probant pour le moment
pour l’eject de peripheriques montés, cela necessite d’avoir le programme eject installé
Je vais essayer de continuer a chercher pour l’audio, faudrait voir aussi pour les dvd avec xine
je me suis interrogé sur la possibilité d’ouvrir une fenetre ROX (un peu comme pour gvm) en rajoutant une regle mais apparemment d’apres le createur d’ivman c pas possible :
[fixed] i’d like to create a rule that automatically open a rox window with the drive mounted
but i don’t know how to refer in the config file to the mount point where the device %d is mounted
thats not possible I’m afraid[/fixed]
LANCEMENT

demarrer les demons hald et ivman

Comment savoir ou se trouve mes lacteurs cd avec udev ?

avant c’était /dev/cdroms/cdrom0 mais maintenant j’ai :

[fixed]Karaboudjan ~ # mount /mnt/dvd
/dev/cdroms/cdrom1: Input/output error
mount: block device /dev/cdroms/cdrom1 is write-protected, mounting read-only
/dev/cdroms/cdrom1: Input/output error
mount: /dev/cdroms/cdrom1: can’t read superblock
[/fixed]

Bonjour, j’ai tenter aujourd’hui une expérience amusante. C’est a dire passer au full udev.
J’utilise le démon hald et genome-volume manager.
J’ai suivi attentivement ces how-to
http://www.reactivated.net/udevrules.php
http://www.gentoo.org/doc/fr/udev-guide.xml
http://forums.gentoo.org/viewtopic-t-297093.html

Ca se présente pas trop mal, il reconnait mes periph comme il faut etc.
Toutefois, j’ai un petit souci:

il rajoute une entrée ds fstab (ce qui est le comportement normal du démon hald):

 /dev/dvdrw              /media/cdrecorder       auto    exec,user,noauto,managed 0 0
/dev/cdrw               /media/cdrecorder1      auto    exec,user,noauto,managed 0 0

hors, c’est sympa mais je me retrouve avec un nom débile dans gnome et sur mon bureau soit cdrecorder…
Je voudrais modifier cela sans editer fstab (car ce serait de tte maniere écraser au prochain reboot).

J’ai tenter de me faire un fichier de regle.


cat /etc/udev/rules.d/10-local.rules
# regle pr lecteur optique
BUS="ide", KERNEL="hdc", NAME="cdrw"
BUS="ide", KERNEL="hdd", NAME="dvdrw"

et ca m’a créé le lien /dev/cdrw mais ca n’a pas modifier le nom du point de montage /media/cdrecorder.

Si vous avez une idée ?

Chez moi hald rajoute des entrées dans /etc/fstab uniquement si elle ne sont pas déjà présentes pour le peripherique, donc essai de modifier le fstab a la main et si ça marche pas regarde si il n’y a pas d’options pour hal a ce niveau.

ca fonctionne selon ton idée.
J’ai cherché en vain une option dans hal. Je rtfm demain un peu plus.

up :wink:
ici avec hal 0.5.4 et dbus 0.36.2, et gnome 2.12, je rencontre juste un petit probleme.
Le montage automatique et execution des softs appropriés fonctionne impec.
Seulement quand je clique sur ejecter le periph est bien démonté correctement, seulement il s’ejecte pas.
J’obtiens l’erreur suivante :
eject: incapable d’éjecter, dernière erreur: Argument invalide
en console je peux quand meme ejecter en root, mais j’obtiens la même erreur alors que cette fois le disque est bien ejecté :neutre:
edit : j’ai rajouté la ligne dans sysctl.conf et ça fonctionne au poil :slight_smile: