exécuter un script de connexion au démarrage, sur Ubuntu ou utiliser correctement / etc / networks

5

Il existe probablement une façon BEAUCOUP plus élégante de résoudre ce problème, mais au fond, j'ai un système Ubuntu terriblement minimal qui se connecte à un réseau sans fil. Pour le moment, j'utilise un script qui appelle wpa supplicant et dhclient pour se connecter. Je voudrais avoir cette automatique - mais je n'ai pas eu de chance avec / etc / network / interfaces, ou d'obtenir le script que j'utilise pour démarrer au démarrage.

Une solution de travail de l'une ou l'autre approche serait «correcte». Utiliser le gestionnaire de réseau n'est pas vraiment ce que je veux, donc c'est fini, et je n'aurai pas besoin d'itinérance. le fichier de configuration pour wpa_supplicant fonctionne, de même que toute la configuration lorsqu'elle est exécutée à partir du terminal.

Compagnon Geek
la source

Réponses:

4

Vous voulez éditer /etc/network/interfacesafin qu'il apparaisse automatiquement au démarrage. Cela devrait ressembler à ceci pour votre réseau sans fil:

iface wlan0 inet dhcp
clé sans fil s: KEY
NET-RESEAU_SSID

auto wlan0

remplacez KEY par votre clé sans fil et NETWORK_SID par le SSID de votre routeur.

Si vous souhaitez utiliser votre script au démarrage ...

copiez-le dans /etc/init.d(remplacez le chemin du script de manière appropriée):

sudo cp / chemin / vers / script /etc/init.d

le rendre exécutable (assurez-vous qu'il a une ligne shebang en haut, par exemple #!/bin/bash):

sudo chmod + x /etc/init.d/script

ajoutez les liens symboliques de démarrage par défaut:

sudo update-rc.d valeurs par défaut du script

vous obtiendrez une sortie semblable à celle-ci:

Ajout du démarrage du système pour /etc/init.d/script ...
   /etc/rc0.d/K20script -> ../init.d/script
   /etc/rc1.d/K20script -> ../init.d/script
   /etc/rc6.d/K20script -> ../init.d/script
   /etc/rc2.d/S20script -> ../init.d/script
   /etc/rc3.d/S20script -> ../init.d/script
   /etc/rc4.d/S20script -> ../init.d/script
   /etc/rc5.d/S20script -> ../init.d/script

votre script devrait maintenant être lancé au démarrage.

John T
la source
Je suis allé pour la dernière solution et cela fonctionne assez bien.
Journeyman Geek
0

Ce n'est pas une bonne solution, mais vous devriez pouvoir appeler votre script depuis /etc/rc.local

Assurez-vous simplement que si tout ce dont vous avez besoin se trouve dans / usr / local, il est référencé de manière absolue, car $ PATH pour rc.local n'inclut pas les éléments / usr / local.

singpolyma
la source
0

Je ne sais pas si cela fonctionne dans tous les cas, mais voici ma configuration qui semble fonctionner correctement. J'utilise un RaLink RT2500

#/etc/network/interfaces
auto wlan0
iface wlan0 inet static
    address 192.168.1.125
    netmask 255.255.255.0
    network 192.168.1.1
    broadcast 192.168.1.255
    gateway 192.168.1.1
    wireless-mode managed
    wireless-essid XXXXXXXXXXXX
    wireless-key XXXXXXXXXX

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

#start wireless at boot - added by ckendall 20100304
ifup wlan0

exit 0

la source