Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 26/12/2006, à 21:24

didbag

Comment lancer un script au démarrage ?

Bonjour,

Pour que ma connexion wifi fonctionne, je dois exécuter dans un terminal "sudo dhclient ra0" à chaque démarrage de ma session.

Existe-t-il un moyen d'automatiser cette commande pour qu'elle se fasse toute seule à la fin du démarrage ?
(et si possible de façon à ce que je n'aie pas à retaper mon mot de passe à chaque fois)

Merci d'avance pour votre aide.

Hors ligne

#2 Le 26/12/2006, à 22:40

krusaf

Re : Comment lancer un script au démarrage ?

Reconfigure ton réseau en passant par les outils d'administration graphiques à mon avis.

Hors ligne

#3 Le 27/12/2006, à 22:09

didbag

Re : Comment lancer un script au démarrage ?

J'ai trouvé comment créer mon script de démarrage... mais j'ai encore un petit problème :

J'ai commencé par créer un script comme ceci :

sudo nano /etc/init.d/wifi

puis j'ai mis ceci dedans :

#!/bin/sh
# connecte le réseau
sudo dhclient ra0

Je lui ai ensuite attribué les droits d'exécution et j'ai créé les liens symboliques correspondants :

cd /etc/init.d
sudo chmod +x wifi
sudo update-rc.d wifi defaults

Maintenant la connexion s'effectue bien en automatique, mais le PC plante à l'extinction et parfois même au démarrage de la session gnome.
Ai-je oublié quelquechose ?

Hors ligne

#4 Le 27/12/2006, à 22:22

Spalax

Re : Comment lancer un script au démarrage ?

didbag a écrit :

J'ai trouvé comment créer mon script de démarrage...

Tu pourrais m'expliquer comment, s'il te plait ? smile

Hors ligne

#5 Le 27/12/2006, à 22:30

didbag

Re : Comment lancer un script au démarrage ?

Et bien, tel que je l'ai décrit...en le créant dans init.d, puis en lui attribuant les droits d'exécution, et enfin en exécutant update-rc.d

Mon problème est que cela fait planter l'ordinateur une fois sur 2.

Hors ligne

#6 Le 30/12/2006, à 23:06

krusaf

Re : Comment lancer un script au démarrage ?

Si tu créés un script de démarrage. Recopie celui ci /etc/init.d/skeleton.

Au démarrage ce script est appelé avec l'argument start . A l"instection, il est appelé avec l'argument stop. (Tu peux enlever la commande sudo dans le script. C'est exécuté en tant que root.)

Regarde le script skeleton t'auras une idée de ce à quoi cela doit ressembler

Hors ligne

#7 Le 09/01/2007, à 12:30

gapz

Re : Comment lancer un script au démarrage ?

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

Voila, c'est /etc/rc.local


Real programmers code in binary :: http://gapz.tuxfamily.org

Hors ligne

#8 Le 14/01/2009, à 21:50

SimSim

Re : Comment lancer un script au démarrage ?

Bonjour big_smile
Il est peut être un peu tard mais pour la réalisation correcte d'un script il faut le coder d'une manière particulière détaillée à merveille ici :
http://www.andesi.org/admin:gerer-les-s … -demarrage

En gros c'est un code qui permet des actions différentes au démmarage et à l'arrêt (sinon le wifi se réinitialise à l'arrêt de l'ordi ==> perte de temps)
Ca permet donc de ne lancer le script qu'au démarrage (si on ne met rien dans stop).

#!/bin/sh

## Script basique donné à titre d'exemple et destiné à montrer 
## comment fonctionne un script de démarrage.
## On pourrait utiliser la commande start-stop-daemon comme dans 
## le script initial d'apache mais cela sortirait du cadre de cet 
## article ;).
## On précise tout d'abord que c'est un script écrit en shell 
## avec la ligne ci-dessus

## /etc/init.d/apache_exemple: démarre et arrête le service apache

## On définit la valeur de quelques variables avant de commencer 
## le script proprement dit.
# Répertoires contenant de nombreux programmes exécutables
PATH=/bin:/usr/bin:/sbin:/usr/sbin
# Chemin vers le programme qui démarrera Apache
DAEMON=/usr/sbin/apache
# Optionnel : définit le nom et la description qui s'afficheront
# lors du démarrage ou de l'arrêt du script
NAME=apache
DESC="Webserver"

## Début du script proprement dit
# On vérifie tout d'abord que le programme apachectl est exécutable, 
# sinon fin du script
test -x $DAEMON || exit 0

# Suivant l'argument que l'on va ajouter après le nom du script, on va
# définir différentes possibilités au script grâce à l'instruction 
# case
case "$1" in
    # si on tape # /etc/init.d/apache_exemple start, les instructions 
    # qui suivent vont être exécutées
    start)
        # Affiche : « Starting Webserver: apache »
        # $DESC et $NAME sont bien entendu les variables que l'on a
        # défini plus haut
        echo -n "Starting $DESC: $NAME"
        # Lance le serveur web Apache
        apache & >& /dev/null
        echo "."
        ;;
    # Fin des instructions si on met l'argument start après le nom  
    # du script
    # si on tape  /etc/init.d/apache_exemple stop, les 
    # instructions suivantes vont être exécutées
    stop)
        # Affiche : « Stopping Webserver: apache »
        echo -n "Stopping $DESC: $NAME"
        # Tue tous les processus portant le nom « apache » 
        # sauvagement (« -9 ») et n'affiche
        # pas le résultat (« /dev/null »)
        killall -9 apache >& /dev/null
        echo "."
        ;;
    # Fin des instructions si on met l'argument stop après le nom
    # du script si on tape /etc/init.d/apache_exemple restart, 
    # les instructions suivantes vont être exécutées
    restart)
        # Affiche : « Restarting Webserver: apache»
        echo -n "Restarting $DESC: $NAME"
        # Vérifie si le processus apache est déjà lancé ou non
        if [ -z "$(ps ax | egrep apache)" ]; then
        # Si il n'est pas lancé alors on affiche : « Apache isn't 
        # running, so not killed »
            echo " Apache isn't running, so not killed" ;
        else
        # Sinon on tue tous les processus portant le nom apache
        # comme décrit précédemment
            killall -9 apache >& /dev/null ;
        fi
        # Attente d'une seconde avant de continuer le script
        sleep 1
        # Enfin on démarre le serveur apache
        apache >& /dev/null
        echo "."
        ;;
    # Si on tape 
    # /etc/init.d/apache alors le script affichera 
    # les différents arguments que l'on peut donner au script
    *)
        echo "Usage: /etc/init.d/$NAME start|stop|restart" >&2
        exit 1
        ;;
esac

exit 0
## Fin du script !

Ensuite

sudo chmod +x nomduscript
sudo update-rc.d nomduscript defaults

En espérant que ça serve à quelqu'un

Dernière modification par SimSim (Le 14/01/2009, à 21:50)

Hors ligne

#9 Le 01/04/2009, à 11:39

saloua

Re : Comment lancer un script au démarrage ?

bjr,svp j'ai une ptite question,le long script que vous avez mis en dernier c'est le contenu du /etc/init.d/apache n'est ce pas,mais ou est ce que vous avez mis la commnde à executer:sudo dhclient ra0 ?

Merci d'avance.

Hors ligne

#10 Le 07/12/2010, à 17:48

Romein

Re : Comment lancer un script au démarrage ?

Bonjour,
Je viens de prendre un cloud chez OVH sou Ubuntu Server 10.04. J'ai besoin de lancer un script au démarrage pour dire au DNS ma nouvelle ip en cas d'archivage de mon serveur. J'ai suivit la méthode de didbag. Mais rien ne se lance.
Mon script marche, je l'ai testé manuellement.

Merci de votre aide.

Hors ligne