Wireless kann mit dem rfkill-Tool aktiviert oder deaktiviert werden. Hier ist eine darauf basierende Lösung, die es ermöglicht, den Status zu speichern und ihn beim Systemstart wiederherzustellen.
Schritt 00: Erstellen einer Datei zum Speichern des WLAN-Status
cd /usr/local/etc
sudo touch .wifistate
sudo chmod 666 .wifistate
Schritt 01: Skript
#!/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;
Schritt 10: Skript ausführbar machen
chmod +x <script name>
Schritt 11: Ändern des Ubuntu-Startskripts
Öffne es /etc/rc.local
in einem beliebigen Texteditor (muss als root bearbeitet werden) und füge folgenden Code
vor der exit 0;
Zeile ein:
FILE="/usr/local/etc/.wifistate"
if [ -r "$FILE" ]
then
if [ $(cat $FILE) -eq 0 ]
then
rfkill block wifi
fi
else
rfkill block wifi
fi
Fertig, jetzt kann das Skript aus Schritt 01 mit dem Tastaturereignis verknüpft werden. Nach der ersten Verwendung wird 0 oder 1 in die .wifistate-Datei geschrieben, und beim Systemstart versucht rc.local, diesen Wert zu lesen, und deaktiviert wifi, wenn er 0 ist.
Wenn die WIFISTATE-Datei nicht vorhanden ist, wird WIFI beim Start standardmäßig deaktiviert.
sudo ifdown wlan0
inrc.local
dem System nicht ohnehin auch nach einem Neustart beeinflussen? Muss ich dieses Skript irgendwie aufrufen?