Respostas:
Este script alternará o status e mostrará uma mensagem para confirmar o que foi feito.
#!/bin/bash
if [ $(rfkill list wifi | grep "Soft blocked: yes" | wc -l) -gt 0 ] ; then
rfkill unblock wifi
zenity --info --text "Enabled wireless"
else
rfkill block wifi
zenity --info --text "Disabled wireless"
fi
Para que os avisos do zenity desapareçam, altere-os da seguinte maneira:
zenity --info --text "Enabled wireless" --timeout="5"
zenity --info --text "Disabled wireless" --timeout="5"
Ou faça as notificações que aparecem no canto da tela.
sudo apt-get install libnotify-bin
Substitua as linhas zenity por
notify-send -i network-wireless-full "Wireless enabled" "Your wireless adaptor has been enabled."
notify-send -i network-wireless-disconnected "Wireless disabled" "Your wireless adaptor has been disabled."
--timeout="n"
opção não documentada para zenidade.
Estou procurando uma solução para isso há um tempo e tenho usado muitas dicas e truques por todo o lado. Finalmente encontrei a solução que funciona para mim e decidi criar um guia para iniciantes. Tenha paciência comigo, isso também é para aqueles menos capazes de programar no linux do que muitos de vocês, como eu;
Clique no ícone do iniciador na barra deslizante superior esquerda (Dash Home), digite 'gedit' e clique em entrar.
Agora você criará o script que alternará o wifi;
Eu usei o atalho do gerenciador de rede; nmcli nm wifi, para determinar o estado do wifi e também para controlá-lo. Eu usei o script de notificação fornecido no exemplo acima para exibir o estado do wifi. Aqui está o meu script;
#!/bin/bash
if [ $(nmcli nm wifi | grep "disabled" | wc -l) -eq 1 ] ; then
nmcli nm wifi on
notify-send -i network-wireless-full "Wireless enabled" "Your wireless adaptor has been enabled."
else
nmcli nm wifi off
notify-send -i network-wireless-disconnected "Wireless disabled" "Your wireless adaptor has been disabled."
fi
Copie e cole isso no editor que você acabou de abrir e salve-o como qualquer nome de arquivo que você achar apropriado (o meu era wifitoggle).
O próximo passo foi tornar o arquivo executável (na Pasta Pessoal; clique com o botão direito do mouse no arquivo, propriedades, guia permissões, marque a opção 'Executar como executável').
Em seguida, coloque uma cópia no diretório system / usr / bin do sistema de arquivos (terminal aberto, digite sudo nautilus. Navegue para Sistema de arquivos, usr e abra o bin. Cole y).
Por fim, vá para a guia Configurações do sistema -> Teclado -> Atalhos; pressione o pequeno botão + abaixo, preencha o nome da sua alternância e preencha o nome do arquivo do script que você deu (no meu caso, wifitoggle). Clique em Aplicar e clique no texto 'diable' à direita e pressione suas teclas de atalho. FEITO!
Sim, você pode com o cnetworkmanager . Está no repositório, então instale-o e crie um iniciador com o comando cnetworkmanager --wifi=no
se desejar desativar a conexão sem fio e o comando cnetworkmanager --wifi=yes
se desejar ativar a conexão sem fio.
Algo como: sudo ifconfig <wlan0> down
ou sudo ifconfig <wlan0> up
?
Aqui está o meu script:
#!/bin/bash
echo "Checking wireless iface status...."
if iwconfig wlan0 | grep Quality
then
echo "Wi/Fi is being disabled...."
if rfkill block wifi
then
echo "Wi/Fi is now OFF!"
fi
else
echo "Wi/Fi is being enabled...."
if rfkill unblock wifi
then
echo "Wi/Fi is now ON!"
fi
fi
Para sua informação: rfkill como sugerido por david e misterben é melhor no caso de você estar usando o Network-Manager .
O ifconfig desativará a interface, mas o Network-Manager a reativará automaticamente.
Outra rapidinha que eu uso é remover o módulo wl kernel.
Fora:
rmmod wl
Em:
modprobe wl