#1 Le 14/01/2010, à 10:50
- aurelieng
Lancer un script au démarrage pour ajouter une ligne dans un fichier
Salut à tous,
je sais, je sais, la question a été posée 250 fois sur le forum. He bine, j'ai lu les 250 réponses, j'ai appliqué les 250 réponses, et ça ne marche pas.
voilà le soucis:
Lorsque je me connecte à la fac en dhcp via la connection ethernet je suis obligé de rajouter des commandes pour que la connection fonctionne dans /etc/resolv.conf
voilà ce que me donne le fichier resolv.conf
# Generated by NetworkManager
nameserver 80.10.246.2
nameserver 80.10.246.129
pour que cela marche je dois ajouter la ligne suivante:
nameserver 162.38.140.1
puis executer dans un terminal:
sudo route add default gw 162.38.140.254 eth0
et là ça marche. Mais je suis obligé de recommencer à chaque fois que je rebranche mon pc portable.
j'ai donc pensé à écrire un script qui se lance au démarrage:
#! /bin/sh
sleep 20
echo "nameserver 162.38.140.1" | sudo tee -a /etc/resolv.conf
sudo route add default gw 162.38.140.254 eth0
exit
je l'ai rendu executable avec chmod
j'ai ensuite essayé les différentes méthodes sur le forum en le plaçant dans usr/bin/ ou dans etc/init.d puis update-rc.d etc....
ça ne marche pas. Je fais également avec systeme-preferences-applications au demarrage en allant chercher le fichier directement: /usr/bin/reseau.sh (le nom de mon script), j'ai également essayé directement sous la forme: cd usr/bin/ | sudo ./reseau.sh
ça ne marche pas.
par contre si je me place sous /usr/bin dans un terminal et que je lance sudo ./reseau.sh
ça fonctionne
quelqu'un aurait-il une idée ?
merci d'avance,
aurelieng
Hors ligne
#2 Le 14/01/2010, à 10:59
- sr40150
Re : Lancer un script au démarrage pour ajouter une ligne dans un fichier
Salut,
Essaye de faire gksu gnome-schedule
et tu ajoute ton sudo ./reseau.sh. en tache planifiée au démarrage
Bye
P.S: J'avais eu un problème similaire pour programmer l'extinction d'une machine. Mais le principe reste le même...
Dernière modification par sr40150 (Le 14/01/2010, à 11:04)
Hors ligne
#3 Le 14/01/2010, à 11:10
- dekans
Re : Lancer un script au démarrage pour ajouter une ligne dans un fichier
Tu peux ajouter cette commande dans :
/etc/rc.local
Sans le sudo, c'est déjà exécuté en root.
Fais bien attention de mettre ta commande AVANT le 'exit 0'
dekans@jabber.kubuntu-fr.org
Hors ligne
#4 Le 14/01/2010, à 11:51
- xamaco
Re : Lancer un script au démarrage pour ajouter une ligne dans un fichier
Tu devrais pouvoir résoudre le problème en éditant le fichier /etc/dhcp3/dhclient.conf
Sous 'send host-name "<hostname>";', essaie de rajouter une ligne :
supersede domain-name-servers 162.38.140.1, xxx.xxx.xxx.xxx;
Le ,xxx.xxx.xxx.xxx est facultatif et devrait correspondre au dns secondaire.
Hors ligne
#5 Le 14/01/2010, à 12:09
- aurelieng
Re : Lancer un script au démarrage pour ajouter une ligne dans un fichier
Pour répondre à sr40150:
j'ai essayé via gnome-schedule et ça ne fonctionne pas.
la ligne n'est pas ajoutée dans le fichier.
j'essaye les autres méthodes proposées.
merci beaucoup !
aurelieng
Hors ligne
#6 Le 14/01/2010, à 12:19
- aurelieng
Re : Lancer un script au démarrage pour ajouter une ligne dans un fichier
deuxième essai avec l'ajout dans rc.local
ça ne marche pas, la ligne n'est pas ajoutée.
j'essaye la troisième solution et je vous tiens au courant.
Hors ligne
#7 Le 14/01/2010, à 12:22
- sr40150
Re : Lancer un script au démarrage pour ajouter une ligne dans un fichier
ok bon courage.
Hors ligne
#8 Le 14/01/2010, à 12:25
- aurelieng
Re : Lancer un script au démarrage pour ajouter une ligne dans un fichier
3eme essai en ajoutant 162.38.140.1 dans le fichier dhclient.conf comme indiqué par xamaco.
he bien, çaaaaaa........ ne marche pas ;-(
je vais sans doute me résoudre à lancer le script "à la main" à chaque fois que je me connecte, tant pis.
si vous avez une solution pour lancer un script sh au démarrage, je suis preneur. Je ne comprends pas bien pourquoi ça marche quand je fais sudo ./reseau.sh dans un terminal et pas quand j'essaye de le lancer automatiquement au démarrage. mystère.
merci bien.
aurelieng
Hors ligne
#9 Le 14/01/2010, à 12:50
- dekans
Re : Lancer un script au démarrage pour ajouter une ligne dans un fichier
deuxième essai avec l'ajout dans rc.local
ça ne marche pas, la ligne n'est pas ajoutée.
j'essaye la troisième solution et je vous tiens au courant.
fais voir ton rc.local
dekans@jabber.kubuntu-fr.org
Hors ligne
#10 Le 14/01/2010, à 13:45
- aurelieng
Re : Lancer un script au démarrage pour ajouter une ligne dans un fichier
et hop voilà mon rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
echo "nameserver 162.38.140.1" | tee -a /etc/resolv.conf
route add default gw 162.38.140.254 eth0
exit 0
any idea ?
Hors ligne