Je vais traiter et poser mon problème au sujet de udev, sujet maintes fois traité mais les réponses que j'ai trouvées ne m'ont pas permis de résoudre mon soucis.
Le problème : je veux synchroniser un dossier de ma clé usb à l'insertion de celle-ci, et je veux que l'on me demande confirmation.
(tout n'est peut-être pas à synchroniser...)
Ma solution partielle :
1) j'utilise unison pour la synchronisation
2) j'ai créé un profil d'utilisation nommé "portfolio" pour unison qui détaille mes dossiers à synchroniser
3) j'ai fait une règle UDEV
Code : Tout sélectionner
# /etc/udev/rules.d/10-local.rules
ACTION=="add", KERNEL=="sd*",SUBSYTEM=="block", ATTRS{size}=="7897088", RUN+="/home/newick/scripts/unison-portfolio-launcher"
Code : Tout sélectionner
#unison-portfolio-launcher
#!/bin/bash
if [ "$ACTION" != 'add' ] ; then
exit
fi
#Tout d'abord, trouver où afficher tout ça : (trouver le ndu de l'affichage X local)
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
LocalDisplay=':0'
X11User=`who | grep $LocalDisplay | cut -f 1 -d ' '`
if [ -z "$X11User" ] ; then
exit
fi
#Envoyer la commande dans l'affichage local
export DISPLAY=$LocalDisplay
export HOME=/home/$X11User
nice -n 5 su $X11User -c "/home/newick/scripts/unison-portfolio | at now"
exit
Code : Tout sélectionner
#unison-portfolio
#!/bin/bash
# Script permettant la synchronisation du Portfolio
if zenity --question --title="Confirmation" --text="Lancer la synchronisation du portfolio ?"
then
unison-gtk2 portfolio
else
exit
fi
- Ce qui marche :
- La règle UDEV : à l'insertion de ma clef, le script est bien exécuté (j'ai la boîte de dialogue)
- Le problème d'affichage a été résolu par le LocalDislay
- L'exécution s'interrompait rapidement toute seule: ça été résolu par la commande "at now"
- Mon script unison-portfolio seul
- Ce qui ne fonctionne pas :
- Lors de l'appel à unison, celui-ci démarre mais ne reconnait pas ma clef. Et tant que je ne suis pas allé sur Thunar voir ma clef, ça ne fonctionne pas (pourtant celle-ci est considérée comme montée)
- Mon script est exécuté deux fois
Merci beaucoup !
Eric