Le sans fil peut être activé ou désactivé à l'aide de l'outil rfkill. Voici une solution basée sur celle-ci, qui permettra d'enregistrer l'état et de le restaurer au démarrage du système.
Étape 00: création d'un fichier pour stocker l'état wifi
cd /usr/local/etc
sudo touch .wifistate
sudo chmod 666 .wifistate
Étape 01: script
#!/bin/bash
IFACE="wlan1"
STATE_FILE="/usr/local/etc/.wifistate"
STATE="$(iwconfig $IFACE | grep Tx | cut -d '=' -f2 | grep off)"
if [ "$STATE" ]
then
rfkill unblock wifi &&
echo 1 > "$STATE_FILE" &&
echo "Wireless enabled"
else
rfkill block wifi &&
echo 0 > "$STATE_FILE" &&
echo "Wireless disabled"
fi
exit 0;
Étape 10: rendre le script exécutable
chmod +x <script name>
Étape 11: modification du script de démarrage d'Ubuntu
ouvrir /etc/rc.local
dans n'importe quel éditeur de texte (doit être édité en tant que root) et ajouter le code suivant
avant la exit 0;
ligne:
FILE="/usr/local/etc/.wifistate"
if [ -r "$FILE" ]
then
if [ $(cat $FILE) -eq 0 ]
then
rfkill block wifi
fi
else
rfkill block wifi
fi
Terminé, le script de l'étape 01 peut maintenant être lié à l'événement clavier. Après la première utilisation, il écrira 0 ou 1 dans le fichier .wifistate, et au démarrage du système, le script rc.local tentera de lire cette valeur et, s'il est 0, désactiver le wifi.
Si le fichier .wifistate n'existe pas, par défaut le wifi sera désactivé au démarrage.
sudo ifdown wlan0
enrc.local
n'affectera le système de toute façon , même après le redémarrage? Dois-je appeler ce script d'une manière ou d'une autre?