#1 Le 21/10/2009, à 10:11
- palux
lancer un script après initialisation de la connection wifi
Bonjour à toutes et à tous,
Comme indiqué dans le titre je souhaite pouvoir lancer un script au démarrage, mais uniquement après que la carte wifi se soit connectée. La raison est simple, c'est que la commande à lancer est le montage d'un disque distant auquel j'ai accès par la dite connection wifi.
J'ai pensé que peut être je pouvais utiliser le trousseau de clés, mais je n'ai pas trouvé comment faire.
J'ai aussi pensé à utiliser un cron, mais je ne sais pas comment lui dire "tu lances le script quand le wifi s'est connecté".
J'aimerai autant que possible éviter de mettre une boucle dans mon script, puisque mon pc est portable et qu'il est fréquent que je l'utilise ailleurs que chez moi, donc pas forcément de wifi et boucle infini...
Toute idée sera bonne à prendre.
Merci,
Palux
Hors ligne
#2 Le 21/10/2009, à 10:58
- Ferod
Re : lancer un script après initialisation de la connection wifi
Bonjour,
Je pense que le plus simple c'est d'utiliser la commande sleep au tout début de ton script. Ca va te permettre d'attendre un certain temps avant de démarrer.
sleep 5
Cette commande te permet d'attendre 5 seconde avant de commencer le script.
Tu dois pouvoir l'adapter pour faire en sorte qu'il cherche pendant un certain temps et si il trouve pas, le script ne s'exécute pas et si il le trouve la par contre il peut te monter le disque.
Sinon tu peux faire en sorte que le script te demande si la connexion peut être établie et choisir ensuite si il faut ou pas monter ton disque. Ca doit pas être trop compliqué avec zenity.
"When I was in the military, they gave me a medal for killing
two men, and a descharge for loving one !" Leonard Matlovich
Hors ligne
#3 Le 21/10/2009, à 11:12
- Michel Leunen
Re : lancer un script après initialisation de la connection wifi
Il existe un répertoire dans lequel sont placés les scripts qui ne doivent se lancer que quand le réseau est établi:
/etc/network/if-up.d
C'est dans ce répertoire que se trouve par exemple ntpdate qui est lancé au démarrage et qui met à l'heure ton PC. Comme il doit se connecter sur un serveur ntp distant, il faut que le réseau soit opérationnel.
Michel Leunen
http://linux.leunen.com
Hors ligne
#4 Le 21/10/2009, à 12:51
- palux
Re : lancer un script après initialisation de la connection wifi
Salut,
Merci à tout les deux.
Ferod, j'avais déjà trouvé cette solution, mais elle ne me satisfait pas pleinement, puisqu'il suffi que j'allume la bécane et que j'aille faire autre chose avant de rentrer le mot de passe du trousseau et le script ne cherchera plus.
Michel Leunen, c'est exactement ce que je cherchais. Le soucis c'est que j'ai mis mon script dans le répertoire, mais ça ne fonctionne pas. Pourtant mon script est bon puisque quand je clique dessus il fait ce que je lui demande.
Un conseil?
Merci encore,
Palux
Hors ligne
#5 Le 21/10/2009, à 16:02
- Michel Leunen
Re : lancer un script après initialisation de la connection wifi
Il y a probablement une erreur qui apparaît quelque part dans ton script. Erreur peut-être due au mot de passe et au trousseau. Il faudrait que to logge les messages d'erreurs éventuels. Tu peux utiliser syslogd pour cela d'ailleurs.
http://linux.leunen.com/?p=120
Tu peux aussi utiliser un fichier txt. C'est possible aussi.
Michel Leunen
http://linux.leunen.com
Hors ligne
#6 Le 21/10/2009, à 16:14
- droopy191
Re : lancer un script après initialisation de la connection wifi
Salut,
le post-up du fichier /etc/network/interfaces ?
Hors ligne
#7 Le 21/10/2009, à 17:28
- palux
Re : lancer un script après initialisation de la connection wifi
Michel Leunen : je ne pense pas qu'il y ait d'erreur dans mon script puisque quand je vais dans /etc/network/if-up.d/ et que je clique sur mon script tout fonctionne correctement. Mais je te mets quand même le script:
moi@moi:/etc/network$ cat /etc/network/if-up.d/monter-disque.sh
#!/bin/bash
smbmount //192.168.1.12/partage /home/moi/fichier_partage/ -o username=moi,password=moi
Droopy191 : voilà le contenu du fichier :
/etc/network$ cat interfaces
auto lo
iface lo inet loopback
Merci à vous,
Palux
Hors ligne
#8 Le 21/10/2009, à 17:59
- droopy191
Re : lancer un script après initialisation de la connection wifi
Droopy191 : voilà le contenu du fichier :
/etc/network$ cat interfaces
auto lo
iface lo inet loopback
Qq chose dans le genre de
iface wlan0 inet dhcp
wpa-conf managed
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid mon_reseau
wpa-key-mgmt WPA-PSK
wpa-psk 7aaezeaaaa_cle wpa
[b]post-up /path/mon_script.sh[/b]
Voir la doc ubuntu pour configurer le wifi dans le fichier interfaces
Dernière modification par droopy191 (Le 21/10/2009, à 20:42)
Hors ligne
#9 Le 21/10/2009, à 19:06
- Michel Leunen
Re : lancer un script après initialisation de la connection wifi
Qq chose dans le genre de
...
Le problème n'est pas dans la connexion wifi. Relis le post original.
Michel Leunen
http://linux.leunen.com
Hors ligne
#10 Le 21/10/2009, à 19:15
- Michel Leunen
Re : lancer un script après initialisation de la connection wifi
Michel Leunen : je ne pense pas qu'il y ait d'erreur dans mon script puisque quand je vais dans /etc/network/if-up.d/ et que je clique sur mon script tout fonctionne correctement.
Exact, rien ne paraît poser problème dans ce script.
Pourrais-tu établir une liaison filaire et re-tester?
Michel Leunen
http://linux.leunen.com
Hors ligne
#11 Le 21/10/2009, à 19:17
- droopy191
Re : lancer un script après initialisation de la connection wifi
droopy191 a écrit :Qq chose dans le genre de
...Le problème n'est pas dans la connexion wifi. Relis le post original.
j'avais bien compris
la subtilité réside dans le post-up en fin de config qui lance un script.
Hors ligne
#12 Le 21/10/2009, à 20:32
- Michel Leunen
Re : lancer un script après initialisation de la connection wifi
la subtilité réside dans le post-up en fin de config qui lance un script.
Oups, oui, sorry, je n'avais pas vu.
C'est à essayer, effectivement.
Michel Leunen
http://linux.leunen.com
Hors ligne