A conexão sem fio pode ser ativada ou desativada usando a ferramenta rfkill. Aqui está a solução baseada nele, que permitirá salvar o estado e restaurá-lo na inicialização do sistema.
Etapa 00: criação do arquivo para armazenar o estado wifi
cd /usr/local/etc
sudo touch .wifistate
sudo chmod 666 .wifistate
Etapa 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;
Etapa 10: tornando o script executável
chmod +x <script name>
Etapa 11: modificando o script de inicialização do Ubuntu
abra /etc/rc.local
em qualquer editor de texto (deve ser editado como root) e adicione o seguinte código
antes da exit 0;
linha:
FILE="/usr/local/etc/.wifistate"
if [ -r "$FILE" ]
then
if [ $(cat $FILE) -eq 0 ]
then
rfkill block wifi
fi
else
rfkill block wifi
fi
Concluído, agora o script da etapa 01 pode estar vinculado ao evento do teclado. Após o primeiro uso, ele grava 0 ou 1 no arquivo .wifistate e, na inicialização do sistema, o script rc.local tenta ler esse valor e, se for 0, desabilita o wifi.
Se o arquivo .wifistate não existir, o wifi padrão será desativado na inicialização.
sudo ifdown wlan0
emrc.local
não afetará o sistema de qualquer forma, mesmo após a reinicialização? Preciso chamar esse script de alguma forma?