La conexión inalámbrica se puede habilitar o deshabilitar con la herramienta rfkill. Aquí hay una solución basada en él, que permitirá guardar el estado y restaurarlo al inicio del sistema.
Paso 00: creación del archivo para almacenar el estado wifi
cd /usr/local/etc
sudo touch .wifistate
sudo chmod 666 .wifistate
Paso 01: guión
#!/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;
Paso 10: hacer que el script sea ejecutable
chmod +x <script name>
Paso 11: modificación del script de inicio de Ubuntu
abrir /etc/rc.localen cualquier editor de texto (debe editarse como raíz) y agregar el siguiente código
antes de la exit 0;línea:
FILE="/usr/local/etc/.wifistate"
if [ -r "$FILE" ]
then
if [ $(cat $FILE) -eq 0 ]
then
rfkill block wifi
fi
else
rfkill block wifi
fi
Hecho, ahora el script del paso 01 puede estar vinculado al evento del teclado. Después del primer uso, escribirá 0 o 1 en el archivo .wifistate, y al iniciar el sistema, el script rc.local intentará leer este valor y, si es 0, deshabilitará el wifi.
Si el archivo .wifistate no existe, por defecto se deshabilitará el wifi al inicio.
sudo ifdown wlan0enrc.localno afectará el sistema de todos modos, incluso después de reiniciar el sistema? ¿Necesito llamar a este script de alguna manera?