Re: [CBLX] question script après DHCP

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


coucou Pierre,
j'avais comprit ton application mais j'avais mal fait le lien avec la mienne. Mais si j'utilise ta méthode, il faut bien que je sache quand j'ai une ip pour pouvoir l'envoyer à l'ordinateur local?
Du coup c'est le même prôblme qu'avant.
Sinon, serait-il possible de lancer un script en arrière plan au démarrage qui tourne en rond et qui test un lien réseau. Puis une fois trouvé, il s'occupe de récupérer l'ip et de l'envoyer au tunnel ou a espeak!!
Pensez-vous cela réalisable!
++


Le 25/08/2013 15:27, Pierre Lorenzon a écrit :
From: Gilles Touzé <gilles.touze@xxxxxxxxxxx>
Subject: Re: [CBLX] question script après DHCP
Date: Sun, 25 Aug 2013 15:19:19 +0200

Bonjour à tous,
je m'en mêle un petit peu (car je n'aurai pas Internet demain,
ni la semaine prochaine) ; je n'interviens plus guère sur la
liste depuis longtemps car je n'ai pas grand chose à apporter,
mais là, je viens de résoudre un problème similaire sur une
Ubuntu : déclencher un script à l'insertion d'une clé usb.

Come le supposait Aldo, cela repose sur une règle udev. Voir à
ce sujet l'article udev sur www.ubuntu-fr, c'est le mieux que
j'ai trouvé, il donnera les indications pour localiser
l'insertion de la carte réseau. Revenons à ma clé usb ; je crée
   Bémol : il ne s'agit pas de l'insertion d'une carte réseau
   mais du plug/unplug d'un rj45 si j'ai bien compris. Or s'il
   est avéré que l'insertion d'une clef usb est un kernel event
   es-tu sûr Gilles qu'il en soit de même du plug/unplug d'une
   fiche RJ45 ? En effet, s'il ne s'agit pas d'un kernel event
   (et même si je ne bois pas dans mon chapeau) s'il n'est pas
   exporté dans le user space /sys je crois qu'il n'est pas
   visible par udev.

   Sans vouloir me faire mousser l'idée udev était de moi mais
   je reste persuadé, tant que Matthieu ne m'a pas expliqué
   vraiment pourquoi la solution par le tube ssh ne peut être
   envisagée qu'elle est quand-même plus simple.

   Cela dit Gilles maîtriser les règles udev ça peut toujours
   servir et moi je n'ai pas eu encore le courage d'apprendre
   juste parce que je n'en ai pas eu encore besoin au point de
   m'investir là-dedans.

   Profite bien de ta dernière semaine avant que la pédagogie ne
   te capture de nouveau !

   PIerre


le fichier /etc/udev/rules.d/81-local.rules avec pour contenu :

ACTION=="add", SUBSYSTEMS=="usb",
ATTRS{serial}=="071085501083AB2E",
RUN+="/home/gilles/.scripts_persos/sauve_PEDAGO"

L'astuce est que le script sauve_PEDAGO ne fait rien d'autre
que d'en lancer un deuxième, EN TACHE DE FOND, car le premier
script (lancé par udev) doit se terminer pour pouvoir
poursuivre le montage de la clé (et pour le réseau, pour que le
gestionnaire de connexion puisse faire son boulot) d'une part,
et d'autre par, la tâche qu'il lance doit pouvoir être exécutée
APRES la fin de l'initialisation du périphérique ; afin
d'obtenir ce résultat, le script appelé (il s'appelle
sauv_cle_PEDAGO) s'appelle lui-même récursivement jusqu'à ce
qu'il puisse faire son boulot. Je joins le source des deux
scripts (il y a du déchet dedans, il faut trier surtout les
commentaires), en espérant inspirer suffisamment pour faire
avance le schmilblick.

sauv_PEDAGO :

#################################################################
#Les scripts persos sont placés dans
#/home/$user/.scripts_persos#
#################################################################

#################################################################
#La sauvegarde se fait dans /home/touze/.sauvegarde/PEDAGO/
#
#
#Script gérant la sauvegarde automatique de PEDAGO.
#################################################################

#################################################################
#Créer le fichier /etc/udev/rules.d/81-local.rules
#avec pour contenu :
#ACTION=="add", SUBSYSTEMS=="usb",
#ATTRS{serial}=="071085501083AB2E",
#RUN+="/home/gilles/.scripts_persos/sauve_PEDAGO"
#################################################################

SCRIPT=/home/gilles/.scripts_persos/sauve_clef_PEDAGO

#################################################################
#Lancer en background : ()& #
#################################################################
($SCRIPT > /tmp/sauve_clef_PEDAGO.log 2>&1 && exit 0) &


et enfin sauv_cle_PEDAGO :

#!/bin/sh

SRC_DIR="/media/gilles/PEDAGO/"
TGT_DIR="/home/gilles/Ubuntu One/PEDAGO"

synchronize () {
   echo "synchronize";
   if test -d "$SRC_DIR"; then
########################################################################################################
#On fait une sauvegarde avec backup (les anciennes versions d'un
#fichier sont conservées renommées).  #
########################################################################################################
     rsync -abvd --backup-dir=.rsync-backups --progress
     --partial-dir=.rsync-partial "$SRC_DIR" "$TGT_DIR" &&
     chown -R gilles:gilles "$TGT_DIR";
   else
   fi;
     sleep 1 && synchronize;
}


main () {
#echo "main" &&
#mkdir -p "$SRC_DIR" &&
#echo "Mounting..." &&
#mount /dev/sdb1 "$SRC_DIR" ||
#echo "Mounted !" &&
synchronize;
}

main && echo "done" && exit 0

Voilà, c'est tout ce que je peux apporter sur la question, mais
j'espère fournir un cadre structurel utilisable. Bon courage
pour l'adaptation, (j'avoue que personnellement, je n'étais pas
de taille à créer ça tout seul, je me suis fait aider par un
vrai professionnel). Mais je garantis que c'est une façon de
procéder de bonne qualité.

Gilles.


Le 25/08/2013 14:08, Pierre Lorenzon a écrit :
From: Mathieu Barbe <mat.barbe@xxxxxxxxx>
Subject: Re: [CBLX] question script après DHCP
Date: Sun, 25 Aug 2013 11:50:24 +0200

J'ai bien compris ce que tu fais mais si j'ai pas l'ip de ma
carte je ne risque pas de faire une redirection de port en ssh.
En faite je ne vois pas trop de point commun entre ton
application et se que je veux faire.
toi tu te sert des outils d'accessibilité de ta machine
distante pour les sortir sur ta machine local.  Non ! La
    machine locale tourne le serveur speech-dispatcher avec
    festival derrière. Sur la machine distante il y a emacs qui
    envoie sont flux sur le port 6560 mais à travers le ssh le
    port 6560 est celui de la machine locale où écoute
    speech-dispatcher donc le son est local.




Moi la machine distante n'a pas ces outils et ma machine local
les a belle et bien.
    C'est exactement mon cas aussi.




Et j'ai pas son ip
    On n'a pas besoin de l'ip de la machine local si on redirige
    les ports dans le tube ssh.


    P.



:-)
++ Math


Mathieu Barbe
Mail: mat.barbe@xxxxxxxxx
28 rue Nicolas Chorier
38 000 Grenoble

Le 25/08/2013 05:48, Pierre Lorenzon a écrit :
From: Mathieu Barbe <mat.barbe@xxxxxxxxx>
Subject: Re: [CBLX] question script après DHCP
Date: Sat, 24 Aug 2013 22:51:08 +0200

la vrai idée c'était de lancer la synthèse
vocale espeak avec l'adresse ip en paramètre
Cela me permet de me connecter en ssh par la suite.
Car c'est sur une carte embarqué sans écran et
sans outils d'accessibilité.
Je vais étudier ce que vous m'avez répondu,
Merci.
      Bon indépendamment de ce que tu veux faire exactement ta
     question était intéressante parce que
     déclencher une action
     quelconque par rapport à l'événement
     plug/unplug d'une
     connection ethernet ça ne semble pas exotique du tout et
     tu
     n'es vraisemblablement pas le premier à vouloir faire un
     truc
     pareil.

     Pour ce que tu veux faire spécifiquement est-ce la bonne
     stratégie ? As-tu besoin que la synthèse tourne
     explicitement
     sur la carte embarquée ? Ne serait-il pas plus simple de
     faire tourner le serveur de synthèse sur la machine
     locale à
     partir de laquelle tu te connectes avec une redirection de
     port avec -R dans le ssh ? Moi c'est ce que je fais dans mon
     bureau à la fac par exemple. Dans mon bureau j'ai une
     charrette (pour ne pas dire une brouette i.e. un compaq de
     2000) mais qui peut faire tourner festival+mbrola de
     manière
     à peu près raisonnable. En revanche pour utiliser
     mes outils
     favoris je préfère travailler sur le serveur du
     labo. Et bien
     ssh -R port:port fait que dans ma session ssh les process
     lancés sur la machine distante voient leur
     requête sur le
     port donné redirigées sur la machine locale : et
     le son sort
     dans mon bureau et pas dans le local technique où il y a
     le
     serveur.

     Clair/pas clair ? fais un petit man ssh et on en reparle !

     Pierre



++ Math

Mathieu Barbe
Mail: mat.barbe@xxxxxxxxx
28 rue Nicolas Chorier
38 000 Grenoble

Le 20/08/2013 05:52, Pierre Lorenzon a écrit :
From: raphael.poitevin@xxxxxxxxx (Raphaël POITEVIN)
Subject: Re: [CBLX] question script après DHCP
Date: Mon, 19 Aug 2013 23:51:08 +0200

Mathieu Barbe <mat.barbe@xxxxxxxxx> writes:
Je veux ex���cuter un script qui se
lancerait
apr���s avoir :
brancher un c���ble
r���seau,et apr���s
avoir
optenu mon ip avec le dhcp!
Avez-vous une id���e?
Peut-���tre voir du
c���t��� des
if-updown ;
des scripts s'ex���cutent au moment
o��� la carte
r���seau est
activ���e et
d���sactiv���e.
      Pour moi ces scripts sont lancés par les scripts de
      démarrrage mais pas par le daemon dhcp. Cela dit il
      suffit de
      mettre la main sur un seul script qui srait exécuté
      par le
      daemon dchp au moment du plug/unplug event et de le
      customizer pour que ça marche.


      P.




--
Rapha���l
��� Tout chercheur
plong��� dans la science subit
une pouss���e de bas en haut susceptible
de lui remonter
le moral. ���
Monsieur Cyclop���de

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

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

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



--
--
  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/