Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/11/2008, à 20:10

Falkevinz

lancement d'un script au branchement d'une clé usb

voilà,

j'aimerais lancer un script utilisant la commande rsync dès la connection d'une clé usb. J'ai trouvé la solution suivante qui a l'air bien plus simple que l'utilistation de udev...

Par contre je suis sous hardy 8.04 et je ne trouve pas l'option "Lancer automatiquement des programmes sur les
    nouveaux périphériques et média".

Cette option a-t-elle été retirée ? Quelle autre solution sinon ?


ci-après, copie du fil que j'ai trouvé :


J'ai trouvé une solution ici :

    C'est facile en fait. Mets ton script à la racine de ton disque USB,
    renomme ton script "autorun", et mets lui les droits d'exécution.

    Ensuite, ouvre "Système -> Préférences -> Périphériques et média
    amovibles", et coche "Lancer automatiquement des programmes sur les
    nouveaux périphériques et média".

    Voilà, ça devrait fonctionner.

#2 Le 12/11/2008, à 15:18

philou8237

Re : lancement d'un script au branchement d'une clé usb

C'est windowsien comme solution ça !
C'est un truc à ce qu'on mette "rm -rf ~" dans une clef usb avant de te la passer.

Essaies toute de même en regardant du coté de udev. C'est un peu plus compliqué, effectivement, mais c'est moins dangereux.

Tu peux assigner un comportement à un device (ici des devices de type usb-storage). Tu dois avoir un répertoire /etc/udev/rules.d, dans lequel tu dois trouver déjà un certain nombre de fichiers (qui sont de bons exemples).

Le but est d'associer aux clefs usb l'exécution de TON programme que TU as rédigé (un peu de bash suffit pour ton besoin) et que tu auras mis, pour raison de propreté dans un endroit sur, comme /etc/udev ou autres.

Je n'ai pas de linux sous la main, mais tu devrait trouver pas mal de doc sur l'exécution de script lié à un évènement comme le montage d'une clef usb normalement.

Hors ligne

#3 Le 12/11/2008, à 20:13

falkevinz

Re : lancement d'un script au branchement d'une clé usb

philou8237 a écrit :

C'est windowsien comme solution ça !
C'est un truc à ce qu'on mette "rm -rf ~" dans une clef usb avant de te la passer.

Essaies toute de même en regardant du coté de udev. C'est un peu plus compliqué, effectivement, mais c'est moins dangereux.

Tu peux assigner un comportement à un device (ici des devices de type usb-storage). Tu dois avoir un répertoire /etc/udev/rules.d, dans lequel tu dois trouver déjà un certain nombre de fichiers (qui sont de bons exemples).

Le but est d'associer aux clefs usb l'exécution de TON programme que TU as rédigé (un peu de bash suffit pour ton besoin) et que tu auras mis, pour raison de propreté dans un endroit sur, comme /etc/udev ou autres.

Je n'ai pas de linux sous la main, mais tu devrait trouver pas mal de doc sur l'exécution de script lié à un évènement comme le montage d'une clef usb normalement.

ok, mais le problème c'est que je ne trouve pas dans les fichiers du dossier rules la façon dont le noyeau reconnait le nom de la clé usb (en fait son label) sans quoi j'aurais complété cette règle.

là je suis obligé de créer une règle du type

blabla=="numéro-de série", +=RUN"chemin de mon script"" 


qui ne fonctionne pas ?


as tu une idée ??

#4 Le 13/11/2008, à 17:51

philou8237

Re : lancement d'un script au branchement d'une clé usb

En fait, ce n'est pas son label que tu dois marquer dans ce fichier. Udev se fous du label, pour lui, ce qui compte c'est "sous système de type SCSI".
Cela te permettera de plus de gérer _tous_ les périphériques usb types clefs, disques externes, etc.

Ca donnera un truc de ce style :

KERNEL=="sd*", SUBSYSTEMS=="scsi", ATTRS{model}=="USB 2.0 Storage Device", RUN+="/etc/udev/usbhd.sh"

Regardes là :
http://reactivated.net/writing_udev_rules.html#example-usbhdd

Hors ligne