Re: [CBLX] /media/??? : un nom svp?

[ Thread Index | Date Index | More lists.tuxfamily.org/carrefourblinux Archives ]


Salut Aldo,

Voici une solution bricolée avec une règle d'udev et un petit script
shell ad hoc.

Si tu connais quel device est créé pour ton disque quand tu le branches;
par exemple sur ma machine quand je branche un disque externe usb, il
est créé sous /dev/sdb*

Voici donc une règle que je mets dans un fichier ayant
l'extension .rules et se trouvant dans /etc/udev/rules.d :

KERNEL=="sdb*", RUN="/bin/sh -c '/home/tarik/monter  %k'"

Cela veut dire la chose suivante à udev : si le kernel t'avertit comme
quoi il vient de crééer un device de type /dev/sdb*, alors tu exécutes
le script shell /home/tarik/monter en lui passant le paramètre %k qui
correspond au nom exact du device créé, à savoir sdb1 ou sdb2, etc.

Le script shell /home/tarik/monter contient les commandes suivantes :

umount /dev/$*
mkdir -p /media/$*
mount /dev/$* /media/$*

la première commande démonte éventuellement le device qui a été monté
automatiquement éventuellement par une règle du système.

la seconde commande créé un répertoire au plus sympathique que le nom
sur deux kilomètres que créé la règle sur ta machine. J'ai pris le même
nom que celui du device. Par exemple /media/sdb1. L'option -p dit à
mkdir de ne pas se plaindre si le répertoire existe déjà.

La dernière commande monte le device dans le répertoire que je viens de
créer.

J'ai testé la règle et le script. ça fait ce que je veux, mais il
persiste un problème dont je n'arrive pas identifier l'origine. Je
n'arrive pas à démonter un disque monté automatiquement de cette
manière. Pour m'en sortir, je suis obligé de passer par l'interface
graphique de nautilus et lui demander, gentiment,  de démonter le
disque. Lui, par contre il réussit haut la main, mais je ne sais pas ce
que fait nautilus. J'ai la flemme de télécharger le code source et
fouiller dans ce qui doit faire quelques milliers de code c++/gtk++

Cordialement
Tarik

Le vendredi 21 mai 2010 à 22:55 +0200, Aldo a écrit :
> Bsoir Tarik.
>
> Désolé pour mon retard; j'ai eu du pain sur la planche hors internet :-)
>
> Pour te répondre:
>
> On Wed, May 19, 2010 at 10:16:36AM +0100, Tarik FDIL wrote:
> > Peux-tu être plus précis ? j'ai moi-même migré vers une Lucid. Quand je
> > branche un disque dur externe USB par exemple, il me le monte
> > automatiquement dans /media/XXX  où XXX est le nom de volume de mon
> > disque externe.
>
> Chez moi il montre l'uuid, sans doute parce que toi tu as donné un label à
> ton disque externe,
> mais ici je voudrais juste qu'il n'affiche pas l'uuid mais comme sous Hardy
> un nom genre disk et disk-1 etc:
> /media/disk/
> /media/disk-1/
> /media/disk-2/
> ...
> comme auparavant donc!
>
> Motif: à la main ça me paraît plus simple de faire un cp de
> /media/disk/MaMusique que de /media/uzuid123456.ezrtqsdfklma/MaMusique
>
> > Si ce n'est pas cela le comportement dans ta distrib, qu'as-tu comme
> > comportement ?
>
> Il affiche l'uuid;
>
> et de leur part je trouve ça une très très mauvais idée:
> - les scripts faits sensés chercher et trouver /media/disk-* ne trouvent
> forcément plus le disque d'avant
> - chaqu  disque a un autre uuid, donc aucun point de repère fixe
> - de plus ça s'écris pas facilement leur bazar.truc.machin.
>
> D'où mon idée de placer un symlink pour ledit disque; mais cette
> presonalisation n'est intéressante qu'à titre individuel, alors que des noms
> génériques genre disk et disk-& etc se retrouvent partout;
> je trouve qu'ils ont à nouveau compliqué pour rien! c'est bien dommage car
> ça n'a ni queue ni tête.
>
> Aldo.
>
>
> ---



---
--
   CarrefourBLinuX MailingListe
   Pour obtenir de l'aide, envoyez le sujet  help  �   carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
   Archives:
   http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/