É possível configurar um atalho para ativar / desativar o wifi?


Respostas:


14

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. texto alternativo

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."

bom lá com rfkill ;-) #
Pavlos G.

bom, existe uma maneira de desaparecer automaticamente a mensagem de zenidade após um ou dois segundos?
NES

Sim, resposta atualizada. Existe uma --timeout="n"opção não documentada para zenidade.
misterben

Você pode descrever em detalhes o que o script faz? Estou interessado em saber se é possível desativar o wifi apenas quando a Ethernet estiver conectada ?
JJD

@misterben O script considera o estado de ethernet conectado?
21312 JJD

4

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!


3

Para desativar o uso do adaptador wifi rfkill block wifi, habilite-orfkill unblock wifi

Em vez de wifi, você pode usar uma das seguintes palavras-chave: all wifi wlan bluetooth uwb ultrawideband wimax wwan gps fm


1

Sim, você pode com o cnetworkmanager . Está no repositório, então instale-o e crie um iniciador com o comando cnetworkmanager --wifi=nose desejar desativar a conexão sem fio e o comando cnetworkmanager --wifi=yesse desejar ativar a conexão sem fio.


1

Algo como: sudo ifconfig <wlan0> downou 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.


Uma idéia para usá-lo com o mesmo atalho?
NES

Eu vou verificar isso e eu vou deixar você sabe ;-)
Pavlos G.

0

Outra rapidinha que eu uso é remover o módulo wl kernel.

Fora:

rmmod wl

Em:

modprobe wl

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.