J'ai créé une règle udev qui au branchement d'une montre garmin lance un
script
Ce script lance une application (graphique) permettant la gestion des
courses sur ce type de montre.
La règle fonctionne a peu pret bien.
Je m'explique
Normalement à l'insertion d'un périphérique usb celui-ci est vmonté
automatiquement sans que je m'occupe de quoi que ce soit.
Dans mon cas de figure ça ne fonctionne pas vraiment lors du branchement
de la montre la règle est bien exécutée, l'application se lance mais je
dois attendre un gros moment avant que la montre soit montée.
Ce qui n'est pas le cas si j'enlève la règle
La règle :
SUBSYSTEM=="usb", ATTR{idVendor}=="091e",
ATTR{idProduct}=="25ca",RUN+="/bin/su pascal -c
'/home/pascal/Desktop/udev-turtlesport.sh'"
le script
#!/bin/bash
export DISPLAY=":0.0"
/usr/bin/turtlesport &
Une idée pour faire en sorte que ma règle soit exécutée après le montage ?
j'ai fait la manip de françois sans succès. Je suis censé refaire un test "from scratch" pour être bien sur que ça ne fonctionne pas. Là, comme je l'expliquais, j'ai la nette impression que ma règle empêche le montage de ma "clé" (montre garmin vue comme un disque usb)
Mais je crois que ce que te propose Lucas c'est de tenter la manip avec une bonne vieille clé USB des familles (pas avec ta montre Garmin). Chez moi, ça avait fonctionné impeccable. Mais bon... on n'est pas sur le même système.
-- François Lafont
Salut,
Le 03/12/2012 16:36, Pascal a écrit :
j'ai fait la manip de françois sans succès.
Je suis censé refaire un test "from scratch" pour être bien sur que ça ne
fonctionne pas.
Là, comme je l'expliquais, j'ai la nette impression que ma règle empêche le
montage de ma "clé" (montre garmin vue comme un disque usb)
Mais je crois que ce que te propose Lucas c'est de tenter la manip avec
une bonne vieille clé USB des familles (pas avec ta montre Garmin). Chez
moi, ça avait fonctionné impeccable. Mais bon... on n'est pas sur le
même système.
j'ai fait la manip de françois sans succès. Je suis censé refaire un test "from scratch" pour être bien sur que ça ne fonctionne pas. Là, comme je l'expliquais, j'ai la nette impression que ma règle empêche le montage de ma "clé" (montre garmin vue comme un disque usb)
Mais je crois que ce que te propose Lucas c'est de tenter la manip avec une bonne vieille clé USB des familles (pas avec ta montre Garmin). Chez moi, ça avait fonctionné impeccable. Mais bon... on n'est pas sur le même système.
-- François Lafont
Pascal
Le 01/12/2012 16:34, Francois Lafont a écrit :
Bonjour,
Le 01/12/2012 16:00, Pascal a écrit :
Une idée pour faire en sorte que ma règle soit exécutée après le montage ?
Ça ne répond pas directement à la question, mais peut-être qu'une solution serait de lancer le script mais, dans le script, attendre que le périphérique soit monté ? Évidemment il faut trouver un moyen de tester si le périphérique est bien monté. Je ne sais pas s'il y une manière propre et standard de faire ça, mais en supposant qu'il est toujours monté dans le répertoire /media/garmin, le script pourrait peut-être être un truc comme ça :
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint /media/garmin; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
export DISPLAY=":0.0" /usr/bin/turtlesport&
}& -----------------------------------------
Bon, rien n'est testé...
J'ai donc fait les tests avec la montre et avec une clé usb dans les deux cas ça ne fonctionne pas. J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique un autre qui comme tu le proposes écrit dans un fichier en fonction du résultat. Pas mieux en fait la règle lance le script qui ne rend visiblement pas la main. Et au bout d'un certain temps (timeout dixit syslog) lance le montage du disque
je vois pas trop ce qui ne va pas snirf
merci pour ton aide en tout cas
Le 01/12/2012 16:34, Francois Lafont a écrit :
Bonjour,
Le 01/12/2012 16:00, Pascal a écrit :
Une idée pour faire en sorte que ma règle soit exécutée après le montage ?
Ça ne répond pas directement à la question, mais peut-être qu'une
solution serait de lancer le script mais, dans le script, attendre que
le périphérique soit monté ? Évidemment il faut trouver un moyen de
tester si le périphérique est bien monté. Je ne sais pas s'il y une
manière propre et standard de faire ça, mais en supposant qu'il est
toujours monté dans le répertoire /media/garmin, le script pourrait
peut-être être un truc comme ça :
# On veut que le script rende la main tout de suite.
{
c=0
# On attend que le périphérique soit monté.
while ! mountpoint /media/garmin; do
sleep 0.5
c=$((c+1))
# Au bout d'un certain temps on abandonne.
if [ "$c" = 20 ]; then
exit 1
fi
done
export DISPLAY=":0.0"
/usr/bin/turtlesport&
}&
-----------------------------------------
Bon, rien n'est testé...
J'ai donc fait les tests avec la montre et avec une clé usb
dans les deux cas ça ne fonctionne pas.
J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique
un autre qui comme tu le proposes écrit dans un fichier en fonction du
résultat.
Pas mieux
en fait la règle lance le script qui ne rend visiblement pas la main.
Et au bout d'un certain temps (timeout dixit syslog) lance le montage du
disque
Une idée pour faire en sorte que ma règle soit exécutée après le montage ?
Ça ne répond pas directement à la question, mais peut-être qu'une solution serait de lancer le script mais, dans le script, attendre que le périphérique soit monté ? Évidemment il faut trouver un moyen de tester si le périphérique est bien monté. Je ne sais pas s'il y une manière propre et standard de faire ça, mais en supposant qu'il est toujours monté dans le répertoire /media/garmin, le script pourrait peut-être être un truc comme ça :
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint /media/garmin; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
export DISPLAY=":0.0" /usr/bin/turtlesport&
}& -----------------------------------------
Bon, rien n'est testé...
J'ai donc fait les tests avec la montre et avec une clé usb dans les deux cas ça ne fonctionne pas. J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique un autre qui comme tu le proposes écrit dans un fichier en fonction du résultat. Pas mieux en fait la règle lance le script qui ne rend visiblement pas la main. Et au bout d'un certain temps (timeout dixit syslog) lance le montage du disque
je vois pas trop ce qui ne va pas snirf
merci pour ton aide en tout cas
Francois Lafont
Bonjour,
Le 09/12/2012 10:19, Pascal a écrit :
J'ai donc fait les tests avec la montre et avec une clé usb dans les deux cas ça ne fonctionne pas. J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique un autre qui comme tu le proposes écrit dans un fichier en fonction du résultat. Pas mieux en fait la règle lance le script qui ne rend visiblement pas la main.
Vraiment, je ne vois pas. Le « & » à la fin du script est justement fait pour que le script rende la main immédiatement.
Question bête : si tu lances le script toi-même à la main dans un terminal, est-ce que celui-ci te rend la main immédiatement ?
Et au bout d'un certain temps (timeout dixit syslog) lance le montage du disque
je vois pas trop ce qui ne va pas snirf
merci pour ton aide en tout cas
Pas de quoi, mais hélas force est de constater que ça n'a pas été très efficace.
-- François Lafont
Bonjour,
Le 09/12/2012 10:19, Pascal a écrit :
J'ai donc fait les tests avec la montre et avec une clé usb
dans les deux cas ça ne fonctionne pas.
J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique
un autre qui comme tu le proposes écrit dans un fichier en fonction du
résultat.
Pas mieux
en fait la règle lance le script qui ne rend visiblement pas la main.
Vraiment, je ne vois pas. Le « & » à la fin du script est justement fait
pour que le script rende la main immédiatement.
Question bête : si tu lances le script toi-même à la main dans un
terminal, est-ce que celui-ci te rend la main immédiatement ?
Et au bout d'un certain temps (timeout dixit syslog) lance le montage du
disque
je vois pas trop ce qui ne va pas
snirf
merci pour ton aide en tout cas
Pas de quoi, mais hélas force est de constater que ça n'a pas été très
efficace.
J'ai donc fait les tests avec la montre et avec une clé usb dans les deux cas ça ne fonctionne pas. J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique un autre qui comme tu le proposes écrit dans un fichier en fonction du résultat. Pas mieux en fait la règle lance le script qui ne rend visiblement pas la main.
Vraiment, je ne vois pas. Le « & » à la fin du script est justement fait pour que le script rende la main immédiatement.
Question bête : si tu lances le script toi-même à la main dans un terminal, est-ce que celui-ci te rend la main immédiatement ?
Et au bout d'un certain temps (timeout dixit syslog) lance le montage du disque
je vois pas trop ce qui ne va pas snirf
merci pour ton aide en tout cas
Pas de quoi, mais hélas force est de constater que ça n'a pas été très efficace.
-- François Lafont
Michel Campfort
Le 09.12.2012 10:19, Pascal a écrit :
Le 01/12/2012 16:34, Francois Lafont a écrit :
Bonjour,
Le 01/12/2012 16:00, Pascal a écrit :
Une idée pour faire en sorte que ma règle soit exécutée après le montage ?
Ça ne répond pas directement à la question, mais peut-être qu'une solution serait de lancer le script mais, dans le script, attendre que le périphérique soit monté ? Évidemment il faut trouver un moyen de tester si le périphérique est bien monté. Je ne sais pas s'il y une manière propre et standard de faire ça, mais en supposant qu'il est toujours monté dans le répertoire /media/garmin, le script pourrait peut-être être un truc comme ça :
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint /media/garmin; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
export DISPLAY=":0.0" /usr/bin/turtlesport&
}& -----------------------------------------
Bon, rien n'est testé...
J'ai donc fait les tests avec la montre et avec une clé usb dans les deux cas ça ne fonctionne pas. J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique un autre qui comme tu le proposes écrit dans un fichier en fonction du résultat. Pas mieux en fait la règle lance le script qui ne rend visiblement pas la main. Et au bout d'un certain temps (timeout dixit syslog) lance le montage du disque
je vois pas trop ce qui ne va pas snirf
merci pour ton aide en tout cas
Lorsque tu essaie avec ta clé, le mountpoint doit être différent de /media/garmin.
Le 09.12.2012 10:19, Pascal a écrit :
Le 01/12/2012 16:34, Francois Lafont a écrit :
Bonjour,
Le 01/12/2012 16:00, Pascal a écrit :
Une idée pour faire en sorte que ma règle soit exécutée après le
montage ?
Ça ne répond pas directement à la question, mais peut-être qu'une
solution serait de lancer le script mais, dans le script, attendre que
le périphérique soit monté ? Évidemment il faut trouver un moyen de
tester si le périphérique est bien monté. Je ne sais pas s'il y une
manière propre et standard de faire ça, mais en supposant qu'il est
toujours monté dans le répertoire /media/garmin, le script pourrait
peut-être être un truc comme ça :
# On veut que le script rende la main tout de suite.
{
c=0
# On attend que le périphérique soit monté.
while ! mountpoint /media/garmin; do
sleep 0.5
c=$((c+1))
# Au bout d'un certain temps on abandonne.
if [ "$c" = 20 ]; then
exit 1
fi
done
export DISPLAY=":0.0"
/usr/bin/turtlesport&
}&
-----------------------------------------
Bon, rien n'est testé...
J'ai donc fait les tests avec la montre et avec une clé usb
dans les deux cas ça ne fonctionne pas.
J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique
un autre qui comme tu le proposes écrit dans un fichier en fonction du
résultat.
Pas mieux
en fait la règle lance le script qui ne rend visiblement pas la main.
Et au bout d'un certain temps (timeout dixit syslog) lance le montage du
disque
je vois pas trop ce qui ne va pas
snirf
merci pour ton aide en tout cas
Lorsque tu essaie avec ta clé, le mountpoint doit être différent de
/media/garmin.
Une idée pour faire en sorte que ma règle soit exécutée après le montage ?
Ça ne répond pas directement à la question, mais peut-être qu'une solution serait de lancer le script mais, dans le script, attendre que le périphérique soit monté ? Évidemment il faut trouver un moyen de tester si le périphérique est bien monté. Je ne sais pas s'il y une manière propre et standard de faire ça, mais en supposant qu'il est toujours monté dans le répertoire /media/garmin, le script pourrait peut-être être un truc comme ça :
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint /media/garmin; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
export DISPLAY=":0.0" /usr/bin/turtlesport&
}& -----------------------------------------
Bon, rien n'est testé...
J'ai donc fait les tests avec la montre et avec une clé usb dans les deux cas ça ne fonctionne pas. J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique un autre qui comme tu le proposes écrit dans un fichier en fonction du résultat. Pas mieux en fait la règle lance le script qui ne rend visiblement pas la main. Et au bout d'un certain temps (timeout dixit syslog) lance le montage du disque
je vois pas trop ce qui ne va pas snirf
merci pour ton aide en tout cas
Lorsque tu essaie avec ta clé, le mountpoint doit être différent de /media/garmin.
Pascal
Le 09/12/2012 11:49, Michel Campfort a écrit :
Le 09.12.2012 10:19, Pascal a écrit :
Le 01/12/2012 16:34, Francois Lafont a écrit :
Bonjour,
Le 01/12/2012 16:00, Pascal a écrit :
Une idée pour faire en sorte que ma règle soit exécutée après le montage ?
Ça ne répond pas directement à la question, mais peut-être qu'une solution serait de lancer le script mais, dans le script, attendre que le périphérique soit monté ? Évidemment il faut trouver un moyen de tester si le périphérique est bien monté. Je ne sais pas s'il y une manière propre et standard de faire ça, mais en supposant qu'il est toujours monté dans le répertoire /media/garmin, le script pourrait peut-être être un truc comme ça :
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint /media/garmin; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
export DISPLAY=":0.0" /usr/bin/turtlesport&
}& -----------------------------------------
Bon, rien n'est testé...
J'ai donc fait les tests avec la montre et avec une clé usb dans les deux cas ça ne fonctionne pas. J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique un autre qui comme tu le proposes écrit dans un fichier en fonction du résultat. Pas mieux en fait la règle lance le script qui ne rend visiblement pas la main. Et au bout d'un certain temps (timeout dixit syslog) lance le montage du disque
je vois pas trop ce qui ne va pas snirf
merci pour ton aide en tout cas
Lorsque tu essaie avec ta clé, le mountpoint doit être différent de /media/garmin.
Quand j'ai fait les tests avec la clé j'ai modifié règle et script bien sur
Le 09/12/2012 11:49, Michel Campfort a écrit :
Le 09.12.2012 10:19, Pascal a écrit :
Le 01/12/2012 16:34, Francois Lafont a écrit :
Bonjour,
Le 01/12/2012 16:00, Pascal a écrit :
Une idée pour faire en sorte que ma règle soit exécutée après le
montage ?
Ça ne répond pas directement à la question, mais peut-être qu'une
solution serait de lancer le script mais, dans le script, attendre que
le périphérique soit monté ? Évidemment il faut trouver un moyen de
tester si le périphérique est bien monté. Je ne sais pas s'il y une
manière propre et standard de faire ça, mais en supposant qu'il est
toujours monté dans le répertoire /media/garmin, le script pourrait
peut-être être un truc comme ça :
# On veut que le script rende la main tout de suite.
{
c=0
# On attend que le périphérique soit monté.
while ! mountpoint /media/garmin; do
sleep 0.5
c=$((c+1))
# Au bout d'un certain temps on abandonne.
if [ "$c" = 20 ]; then
exit 1
fi
done
export DISPLAY=":0.0"
/usr/bin/turtlesport&
}&
-----------------------------------------
Bon, rien n'est testé...
J'ai donc fait les tests avec la montre et avec une clé usb
dans les deux cas ça ne fonctionne pas.
J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique
un autre qui comme tu le proposes écrit dans un fichier en fonction du
résultat.
Pas mieux
en fait la règle lance le script qui ne rend visiblement pas la main.
Et au bout d'un certain temps (timeout dixit syslog) lance le montage du
disque
je vois pas trop ce qui ne va pas
snirf
merci pour ton aide en tout cas
Lorsque tu essaie avec ta clé, le mountpoint doit être différent de
/media/garmin.
Quand j'ai fait les tests avec la clé j'ai modifié règle et script bien sur
Une idée pour faire en sorte que ma règle soit exécutée après le montage ?
Ça ne répond pas directement à la question, mais peut-être qu'une solution serait de lancer le script mais, dans le script, attendre que le périphérique soit monté ? Évidemment il faut trouver un moyen de tester si le périphérique est bien monté. Je ne sais pas s'il y une manière propre et standard de faire ça, mais en supposant qu'il est toujours monté dans le répertoire /media/garmin, le script pourrait peut-être être un truc comme ça :
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint /media/garmin; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
export DISPLAY=":0.0" /usr/bin/turtlesport&
}& -----------------------------------------
Bon, rien n'est testé...
J'ai donc fait les tests avec la montre et avec une clé usb dans les deux cas ça ne fonctionne pas. J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique un autre qui comme tu le proposes écrit dans un fichier en fonction du résultat. Pas mieux en fait la règle lance le script qui ne rend visiblement pas la main. Et au bout d'un certain temps (timeout dixit syslog) lance le montage du disque
je vois pas trop ce qui ne va pas snirf
merci pour ton aide en tout cas
Lorsque tu essaie avec ta clé, le mountpoint doit être différent de /media/garmin.
Quand j'ai fait les tests avec la clé j'ai modifié règle et script bien sur
Pascal
Le 09/12/2012 11:20, Francois Lafont a écrit :
Bonjour,
Le 09/12/2012 10:19, Pascal a écrit :
J'ai donc fait les tests avec la montre et avec une clé usb dans les deux cas ça ne fonctionne pas. J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique un autre qui comme tu le proposes écrit dans un fichier en fonction du résultat. Pas mieux en fait la règle lance le script qui ne rend visiblement pas la main.
Vraiment, je ne vois pas. Le «& » à la fin du script est justement fait pour que le script rende la main immédiatement.
Question bête : si tu lances le script toi-même à la main dans un terminal, est-ce que celui-ci te rend la main immédiatement ?
Et bien on en fait!! le script lance l'application mais pour récupérer l'invite je dois appuyer une fois sur la touche entrée que turtlesport tourne encore ou pas d'ailleurs est ce une piste ?
Et au bout d'un certain temps (timeout dixit syslog) lance le montage du disque
je vois pas trop ce qui ne va pas snirf
merci pour ton aide en tout cas
Pas de quoi, mais hélas force est de constater que ça n'a pas été très efficace.
Merci encore
Le 09/12/2012 11:20, Francois Lafont a écrit :
Bonjour,
Le 09/12/2012 10:19, Pascal a écrit :
J'ai donc fait les tests avec la montre et avec une clé usb
dans les deux cas ça ne fonctionne pas.
J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique
un autre qui comme tu le proposes écrit dans un fichier en fonction du
résultat.
Pas mieux
en fait la règle lance le script qui ne rend visiblement pas la main.
Vraiment, je ne vois pas. Le «& » à la fin du script est justement fait
pour que le script rende la main immédiatement.
Question bête : si tu lances le script toi-même à la main dans un
terminal, est-ce que celui-ci te rend la main immédiatement ?
Et bien on en fait!!
le script lance l'application mais pour récupérer l'invite je dois
appuyer une fois sur la touche entrée que turtlesport tourne encore ou
pas d'ailleurs
est ce une piste ?
Et au bout d'un certain temps (timeout dixit syslog) lance le montage du
disque
je vois pas trop ce qui ne va pas
snirf
merci pour ton aide en tout cas
Pas de quoi, mais hélas force est de constater que ça n'a pas été très
efficace.
J'ai donc fait les tests avec la montre et avec une clé usb dans les deux cas ça ne fonctionne pas. J'ai essayé avec 2 scripts différents, un qui lance mon appli graphique un autre qui comme tu le proposes écrit dans un fichier en fonction du résultat. Pas mieux en fait la règle lance le script qui ne rend visiblement pas la main.
Vraiment, je ne vois pas. Le «& » à la fin du script est justement fait pour que le script rende la main immédiatement.
Question bête : si tu lances le script toi-même à la main dans un terminal, est-ce que celui-ci te rend la main immédiatement ?
Et bien on en fait!! le script lance l'application mais pour récupérer l'invite je dois appuyer une fois sur la touche entrée que turtlesport tourne encore ou pas d'ailleurs est ce une piste ?
Et au bout d'un certain temps (timeout dixit syslog) lance le montage du disque
je vois pas trop ce qui ne va pas snirf
merci pour ton aide en tout cas
Pas de quoi, mais hélas force est de constater que ça n'a pas été très efficace.
Merci encore
Francois Lafont
Le 09/12/2012 14:32, Pascal a écrit :
Question bête : si tu lances le script toi-même à la main dans un terminal, est-ce que celui-ci te rend la main immédiatement ?
Et bien on en fait!!
Sans blague...?
le script lance l'application mais pour récupérer l'invite je dois appuyer une fois sur la touche entrée que turtlesport tourne encore ou pas d'ailleurs est ce une piste ?
Ben oui, c'est une piste. On va revenir aux fondamentaux.
1. Si tu testes en ligne de commandes le script suivant (tu adaptes les chemins en fonction de ton environnement) :
On est bien d'accord que le script te rend la main instantanément ? Et qu'accessoirement au bout de 20 secondes le fichier hello.txt est créé sur ton bureau ?
2. Tu peux nous faire un copié-collé *verbatim* de ton script avec turtlesport ?
-- François Lafont
Le 09/12/2012 14:32, Pascal a écrit :
Question bête : si tu lances le script toi-même à la main dans un
terminal, est-ce que celui-ci te rend la main immédiatement ?
Et bien on en fait!!
Sans blague...?
le script lance l'application mais pour récupérer l'invite je dois
appuyer une fois sur la touche entrée que turtlesport tourne encore ou
pas d'ailleurs
est ce une piste ?
Ben oui, c'est une piste. On va revenir aux fondamentaux.
1. Si tu testes en ligne de commandes le script suivant (tu adaptes les
chemins en fonction de ton environnement) :
On est bien d'accord que le script te rend la main instantanément ? Et
qu'accessoirement au bout de 20 secondes le fichier hello.txt est créé
sur ton bureau ?
2. Tu peux nous faire un copié-collé *verbatim* de ton script avec
turtlesport ?
Question bête : si tu lances le script toi-même à la main dans un terminal, est-ce que celui-ci te rend la main immédiatement ?
Et bien on en fait!!
Sans blague...?
le script lance l'application mais pour récupérer l'invite je dois appuyer une fois sur la touche entrée que turtlesport tourne encore ou pas d'ailleurs est ce une piste ?
Ben oui, c'est une piste. On va revenir aux fondamentaux.
1. Si tu testes en ligne de commandes le script suivant (tu adaptes les chemins en fonction de ton environnement) :
On est bien d'accord que le script te rend la main instantanément ? Et qu'accessoirement au bout de 20 secondes le fichier hello.txt est créé sur ton bureau ?
2. Tu peux nous faire un copié-collé *verbatim* de ton script avec turtlesport ?
-- François Lafont
Pascal
1. Si tu testes en ligne de commandes le script suivant (tu adaptes les chemins en fonction de ton environnement) :
On est bien d'accord que le script te rend la main instantanément ? Et qu'accessoirement au bout de 20 secondes le fichier hello.txt est créé sur ton bureau ?
On est d'accord
2. Tu peux nous faire un copié-collé *verbatim* de ton script avec turtlesport ?
Il s'agit de ton script dans lequel j'ai modifié le nom du dossier :
#!/bin/bash
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint /media/GARMIN; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
export DISPLAY=":0.0" /usr/bin/turtlesport &
} &
1. Si tu testes en ligne de commandes le script suivant (tu adaptes les
chemins en fonction de ton environnement) :
On est bien d'accord que le script te rend la main instantanément ? Et
qu'accessoirement au bout de 20 secondes le fichier hello.txt est créé
sur ton bureau ?
On est d'accord
2. Tu peux nous faire un copié-collé *verbatim* de ton script avec
turtlesport ?
Il s'agit de ton script dans lequel j'ai modifié le nom du dossier :
#!/bin/bash
# On veut que le script rende la main tout de suite.
{
c=0
# On attend que le périphérique soit monté.
while ! mountpoint /media/GARMIN; do
sleep 0.5
c=$((c+1))
# Au bout d'un certain temps on abandonne.
if [ "$c" = 20 ]; then
exit 1
fi
done
On est bien d'accord que le script te rend la main instantanément ? Et qu'accessoirement au bout de 20 secondes le fichier hello.txt est créé sur ton bureau ?
On est d'accord
2. Tu peux nous faire un copié-collé *verbatim* de ton script avec turtlesport ?
Il s'agit de ton script dans lequel j'ai modifié le nom du dossier :
#!/bin/bash
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint /media/GARMIN; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
export DISPLAY=":0.0" /usr/bin/turtlesport &
} &
Francois Lafont
Le 09/12/2012 19:00, Pascal a écrit :
2. Tu peux nous faire un copié-collé *verbatim* de ton script avec turtlesport ?
Il s'agit de ton script dans lequel j'ai modifié le nom du dossier :
#!/bin/bash
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint /media/GARMIN; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
export DISPLAY=":0.0" /usr/bin/turtlesport &
} &
Bon et bien chez moi ce script me rend bien la main immédiatement. Tu est sûr que ce n'est pas le cas chez toi ? Attention, car on peut avoir une fausse impression à cause des échecs successifs de la commande mountpoint où l'on se retrouve avec plein de messages qui polluent la console.
Essaye le script ci-dessous (c'est le même sauf que j'ai ajouté l'option -q qui rend la commande mountpoint silencieuse) :
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint -q /media/GARMIN ; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
Fais une tentative directement en ligne de commandes 1) alors que la clé n'est pas montée et 2) quand la clé est montée.
Dans les deux cas, le script te rend bien la main immédiatement, non ?
-- François Lafont
Le 09/12/2012 19:00, Pascal a écrit :
2. Tu peux nous faire un copié-collé *verbatim* de ton script avec
turtlesport ?
Il s'agit de ton script dans lequel j'ai modifié le nom du dossier :
#!/bin/bash
# On veut que le script rende la main tout de suite.
{
c=0
# On attend que le périphérique soit monté.
while ! mountpoint /media/GARMIN; do
sleep 0.5
c=$((c+1))
# Au bout d'un certain temps on abandonne.
if [ "$c" = 20 ]; then
exit 1
fi
done
export DISPLAY=":0.0"
/usr/bin/turtlesport &
} &
Bon et bien chez moi ce script me rend bien la main immédiatement. Tu
est sûr que ce n'est pas le cas chez toi ? Attention, car on peut avoir
une fausse impression à cause des échecs successifs de la commande
mountpoint où l'on se retrouve avec plein de messages qui polluent la
console.
Essaye le script ci-dessous (c'est le même sauf que j'ai ajouté l'option
-q qui rend la commande mountpoint silencieuse) :
# On veut que le script rende la main tout de suite.
{
c=0
# On attend que le périphérique soit monté.
while ! mountpoint -q /media/GARMIN ; do
sleep 0.5
c=$((c+1))
# Au bout d'un certain temps on abandonne.
if [ "$c" = 20 ]; then
exit 1
fi
done
2. Tu peux nous faire un copié-collé *verbatim* de ton script avec turtlesport ?
Il s'agit de ton script dans lequel j'ai modifié le nom du dossier :
#!/bin/bash
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint /media/GARMIN; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
export DISPLAY=":0.0" /usr/bin/turtlesport &
} &
Bon et bien chez moi ce script me rend bien la main immédiatement. Tu est sûr que ce n'est pas le cas chez toi ? Attention, car on peut avoir une fausse impression à cause des échecs successifs de la commande mountpoint où l'on se retrouve avec plein de messages qui polluent la console.
Essaye le script ci-dessous (c'est le même sauf que j'ai ajouté l'option -q qui rend la commande mountpoint silencieuse) :
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint -q /media/GARMIN ; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint -q /media/GARMIN ; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
export DISPLAY=":0.0" /usr/bin/turtlesport&
}& ----------------------------------------------
Fais une tentative directement en ligne de commandes 1) alors que la clé n'est pas montée et 2) quand la clé est montée.
lorsque la clé est montée: https://www.dropbox.com/s/lbng8mu9bgh7dw5/mont%C3%A9e.png Lorsque la clé n'est pas montée https://www.dropbox.com/s/jfa5mx5hcpknkxt/non-mont%C3%A9e.png
Dans les deux cas, le script te rend bien la main immédiatement, non ?
merci
Essaye le script ci-dessous (c'est le même sauf que j'ai ajouté l'option
-q qui rend la commande mountpoint silencieuse) :
# On veut que le script rende la main tout de suite.
{
c=0
# On attend que le périphérique soit monté.
while ! mountpoint -q /media/GARMIN ; do
sleep 0.5
c=$((c+1))
# Au bout d'un certain temps on abandonne.
if [ "$c" = 20 ]; then
exit 1
fi
done
export DISPLAY=":0.0"
/usr/bin/turtlesport&
}&
----------------------------------------------
Fais une tentative directement en ligne de commandes 1) alors que la clé
n'est pas montée et 2) quand la clé est montée.
lorsque la clé est montée:
https://www.dropbox.com/s/lbng8mu9bgh7dw5/mont%C3%A9e.png
Lorsque la clé n'est pas montée
https://www.dropbox.com/s/jfa5mx5hcpknkxt/non-mont%C3%A9e.png
Dans les deux cas, le script te rend bien la main immédiatement, non ?
# On veut que le script rende la main tout de suite. { c=0
# On attend que le périphérique soit monté. while ! mountpoint -q /media/GARMIN ; do sleep 0.5 c=$((c+1)) # Au bout d'un certain temps on abandonne. if [ "$c" = 20 ]; then exit 1 fi done
export DISPLAY=":0.0" /usr/bin/turtlesport&
}& ----------------------------------------------
Fais une tentative directement en ligne de commandes 1) alors que la clé n'est pas montée et 2) quand la clé est montée.
lorsque la clé est montée: https://www.dropbox.com/s/lbng8mu9bgh7dw5/mont%C3%A9e.png Lorsque la clé n'est pas montée https://www.dropbox.com/s/jfa5mx5hcpknkxt/non-mont%C3%A9e.png
Dans les deux cas, le script te rend bien la main immédiatement, non ?