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 03/05/2006, à 17:53

benjou

[résolu]Auto-run program on new drives and media

Bonjour,

Cette option se trouve dans les preferences pour les media amovibles.
En français ça doit donner quelque chose comme "Execution automatique des programmes sur les nouveaus lecteurs et media"


Mon problème est le suivant: j'aimerais que quand je branche mon lecteur mp3 (UMS) un programme se lance qui copie mes podcasts dessus directement. J'ai donc pensé mettre un script sur la racine du lecteur pour ce faire et cocher l'option susnommée afin que ce script se lasnce au montage du lecteur.

En fait, rien ne se passe... neutral

Bon, le lecteur est evidemment en FAT32 donc impossible de dire que le script est executable (ce serait idiot que cela soit la raison vu que 99% des perifs. de stockage amovibles ne gèrent pas les droits)

Quelqu'un a des idées pour que le script s'execute?
Ou à défaut une autre manière de recopier mes podcasts sur mon lecteur?


Merci

Dernière modification par benjou (Le 05/05/2006, à 13:38)


écrasons l'infâme

Hors ligne

#2 Le 04/05/2006, à 08:15

benjou

Re : [résolu]Auto-run program on new drives and media

J'upoie avec politesse mais fermeté!!!! big_smile


écrasons l'infâme

Hors ligne

#3 Le 04/05/2006, à 08:30

benjou

Re : [résolu]Auto-run program on new drives and media

Resolu.

Pour que le script s'execute, il doit s'appeler autorun.sh!

maintenant, il faut que je fasse un script nickel pour synchronizer les données, si possible avec rsync et zenity pour avaoir une barre de progression mais la, ça va être cotton parce que je n'y connais rien.
Any advice welcome wink


écrasons l'infâme

Hors ligne

#4 Le 04/05/2006, à 08:46

Anbreizh

Re : [résolu]Auto-run program on new drives and media

C'est extremement facile a faire en bash wink Dis moi ce que tu veux exactement et je te donne un script wink


"C'est le devoir de chaque homme de rendre au monde au moins autant qu'il en a reçu"     Albert Einstein
Pour votre webcam : http://projet.jbtheou.fr
Mon site web (Mathématique, physique, science et service de publication ) http://jbtheou.fr

Hors ligne

#5 Le 04/05/2006, à 09:03

benjou

Re : [résolu]Auto-run program on new drives and media

#!/bin/sh
rsync -rtvz --progress ~/Podcasts/ /media/usbdisk/aaa/ | zenity --text-info --width=600 --height=600 --title="Rsync Output"

voila ce que j'ai trouvé (quai recopié du net).

Ca fait le job (recopie le contenu ~/Podcast dans /aaa sur /media /usbdisk)

Pour pinailler, j'aurai préféré une barre de progression (plutot que du texte) et que la fenêtre zenity se ferme toute seule à la fin.

J'ai essayé l'option --progress pour zenity mais le truc ne bouge pas neutral. Il ne doit pas obtenir les bonnes infos...

Dernière modification par benjou (Le 04/05/2006, à 09:03)


écrasons l'infâme

Hors ligne

#6 Le 04/05/2006, à 09:08

benjou

Re : [résolu]Auto-run program on new drives and media

A part ça, c'est typique le genre de truc qu'un prog de musique gérant les podcasts devrait pouvoir copier sur ton lecteur mp3 pour que ça update automatiquement les podcasts sur le lecteur.


écrasons l'infâme

Hors ligne

#7 Le 04/05/2006, à 13:55

cep_

Re : [résolu]Auto-run program on new drives and media

il ne faudra pas oublier d'autoriser les executables sur les nouveaux medias, et il y a le problème du exec dans pmount plus l'adresse de mount éventuellement changeante.

DOnc voir aussi avec udev.

#8 Le 04/05/2006, à 14:21

benjou

Re : [résolu]Auto-run program on new drives and media

merci cep mais

autoriser les executables sur les nouveaux medias

apparemment par defaut ça marche (gnome demande quand même une confirmation avant de lancer le script (et à condition qu'il se nomme autorun, voir plus haut)

le problème du exec dans pmount

La, je ne vois pas trop de quoi tu veux parler...

l'adresse de mount éventuellement changeante.

Ca c'est vrai. mais il doit y avoir un moyen de faire une variable avec le path chemin du dossier où se trouve le script. non? ensuite où que soit monté le média (médium?) cette variable s'ajuste et il suffit de changer /media/usbdisk/ par ta variable dans le script.

Des idées pour faire cette variable?


écrasons l'infâme

Hors ligne

#9 Le 04/05/2006, à 14:44

benjou

Re : [résolu]Auto-run program on new drives and media

Flûte,

Je croyais que le script serait executé depuis le dossier où il se trouve et qu'une commande 'pwd' nous donnerais le chemin. Malheureusement, il est executé depuis ~/  .

Je ne sais donc pas comment récupérer ce chemin hmm

Dernière modification par benjou (Le 04/05/2006, à 16:22)


écrasons l'infâme

Hors ligne

#10 Le 04/05/2006, à 15:24

benjou

Re : [résolu]Auto-run program on new drives and media

En fait, puisque le script se lance au montage du periph, le periph en question doit être le dernier du /etc/mtab.

Il suffit donc de récupérer le point de montage dans ce fichier wink


écrasons l'infâme

Hors ligne

#11 Le 04/05/2006, à 15:57

benjou

Re : [résolu]Auto-run program on new drives and media

Je ne désespère pas

la commande

cat /etc/mtab|awk '{print $2}'

me donne tous les points de montage. Il suffit de selectionner le dernier. Ça devrait pas être trop dur...


écrasons l'infâme

Hors ligne

#12 Le 04/05/2006, à 16:19

benjou

Re : [résolu]Auto-run program on new drives and media

Ca y est

awk 'END {print $2}' /etc/mtab

donne le dernier point de montage créé cool

Mon script devient le suivant:

#!/bin/sh

#determine le point de montage
MOUNTPOINT=$(awk 'END {print $2}' /etc/mtab)


rsync -rtvu --delete --progress ~/Podcasts/ $MOUNTPOINT/aaa | zenity --text-info --title="Updating Podcasts" --width=600 --height=600

Bon ben cep, voilà un de tes problèmes réglés...


Je me sens seul les gars lol


EDIT: Jái rajouté l'option delete (si un podcast n'existe plus sur l'ordi il est détruit sur le player) j'ai enlevé l'option z (complètement crétin sur une connection USB) et rajouté l'option u (update seulement si le fichier est différent de celui sur le player)

Dernière modification par benjou (Le 04/05/2006, à 16:53)


écrasons l'infâme

Hors ligne

#13 Le 04/05/2006, à 18:42

bertrand0

Re : [résolu]Auto-run program on new drives and media

Tu peux aussi utiliser CHEMIN=$(dirname $0)
Pour que $CHEMIN contienne le chemin d'accès vers ton script, et donc vers ton media si j'ai bien compris.


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#14 Le 04/05/2006, à 18:51

bertrand0

Re : [résolu]Auto-run program on new drives and media

Une autre façon de faire pour récupérer le point de montage:
D'abord, la commande suivante:
hal-find-by-property --key block.device --string /dev/sda1
(où tu remplaces sda1 par le périphérique courant de ton pod)
te renvoie l'udi associé à ton pod, qui est unique et constant.
Tu le notes, et dans ton script tu mets:

UDI=identifiant_unique_obtenu_plus_haut
POINT_DE_MONTAGE=$(hal-get-property --udi $UDI --key volume.mount_point)

Ta variable $POINT_DE_MONTAGE contient alors le chemin d'accès vers ton script, si tu l'as mis dans la racine de ton pod.


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#15 Le 05/05/2006, à 08:48

benjou

Re : [résolu]Auto-run program on new drives and media

C'est génial ton truc! le uid est tout le temps gardé?

Alors j'ai changé

MOUNTPOINT=$(awk 'END {print $2}' /etc/mtab)

pour

MOUNTPOINT=$(hal-get-property --udi /org/freedesktop/Hal/devices/volume_uuid_4054_7015 --key volume.mount_point)

Le seul problème c'est que maintenant, je suis condamné à écrire un script pour installer un script autorun.sh personnalisé sur le lecteur lol


écrasons l'infâme

Hors ligne

#16 Le 05/05/2006, à 12:42

sksbir

Re : [résolu]Auto-run program on new drives and media

il me semble qu'il y a une option de lancement de programme au montage d'un disque amovible:

dans Système>Administration>Gestionnaire de disques

Hors ligne

#17 Le 05/05/2006, à 13:37

benjou

Re : [résolu]Auto-run program on new drives and media

il me semble qu'il y a une option de lancement de programme au montage d'un disque amovible:

Pas trouvé cette option...

Je vais passer ce post en résolu car je crois que rappatrier l'output de rsync --progress pour faire bouger la barre de zenity est largement au dessus de mes forces tongue


écrasons l'infâme

Hors ligne

#18 Le 05/05/2006, à 14:38

benjou

Re : [résolu]Auto-run program on new drives and media

Allez, si il y en a de motivés...

Le probleme c'est que dans l'output de rsync --progress, chaque ligne est séparée de la suivante par un retour de charriot (\r) et non par une nouvelle ligne (\n). Donc l'output n'est pas envoyé au fur et à mesure à l'appli qui va la traiter (grep, awk et ultimement zenity) donc l'appli en question reçoit tout l'output d'un coup quand la manip est terminée (pas terrible pour une barre de progression)

Si quelqu'un sait comment envoyer des lignes séparées par des retours de charriot au stdout, qu'il n'hésite pas... roll


écrasons l'infâme

Hors ligne

#19 Le 05/05/2006, à 16:15

bertrand0

Re : [résolu]Auto-run program on new drives and media

Avec sed, ça passe bien, je pense:

rsync --progress $ANY_OPTION | sed "y/\r/\n/"


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#20 Le 05/05/2006, à 17:12

benjou

Re : [résolu]Auto-run program on new drives and media

rsync -rtvu --delete --log-format="" --progress source/ cible/ |sed "y/\r/\n/"|awk '{print $6}'

me donne bien le pourcentage en temps reel mais impossible de le passer a zenity... hmm


écrasons l'infâme

Hors ligne

#21 Le 05/05/2006, à 17:40

bertrand0

Re : [résolu]Auto-run program on new drives and media

J'ai survolé rapidement la page man de zenity... Est-ce que tu ne devrais pas utiliser l'option --progress plutôt que --text-info par hasard ?

EDIT: et l'option --auto-close aussi d'ailleurs.

Dernière modification par bertrand0 (Le 05/05/2006, à 17:41)


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#22 Le 05/05/2006, à 17:51

benjou

Re : [résolu]Auto-run program on new drives and media

Yep

j'utilise --progress et --autoclose dans les scipts ou j'essaie d'obtenir une barre de progression (celui qui est plus haut donne la progression en texte avec --text-info: c'est pas joli mais ca marche;) )


En principe, il faut piper le stdout vers zenity et si ce stdout est bien une valeur entre 0 et 100, ca va droit dans la barre de progression.


écrasons l'infâme

Hors ligne

#23 Le 08/05/2006, à 22:01

sksbir

Re : [résolu]Auto-run program on new drives and media

salut
effectivement, je m'étais trompé.
Regarde plutot:
systeme--> preferences --> peripheriques et media amovible
ou par lancement direct dans une console :
gnome-volume-properties

cette application permet de configurer gnome-volume-manager

L'option qui me parait intéressante est : "lancer automatiquement des programmes sur les nouveaux périphériques et médias".


Sinon, on peut aussi aller dans application-->outils systeme --> editeur de configuration gconf
puis desktop-->gnome-->volume manager


En cherchant dans google avec les mots clés "gnome volume manager auto-run programs on new drives and media"
on trouve ceci ce qui me laisse à penser que le sujet est pour le moins délicat et toujours d'actualité.

Hors ligne

#24 Le 09/05/2006, à 08:11

benjou

Re : [résolu]Auto-run program on new drives and media

Salu sksbir,

Malheureusement il semble que tu retarde un peu big_smile. Comme indique plus haut, cette option fonctionne tres: il faut juste nommer le script 'autorun.sh'


écrasons l'infâme

Hors ligne

#25 Le 09/05/2006, à 13:03

sksbir

Re : [résolu]Auto-run program on new drives and media

c'est option fonctionne très... très bien, je suppose.. tongue

ha bon, ça marche ? parce que d'apres le sujet de la discussion dans le rapport de bug (voir ici ) c'était pas gagné.

Hors ligne