È possibile impostare un collegamento per abilitare / disabilitare il wifi?


13

È possibile impostare un collegamento per abilitare / disabilitare il wifi?

Risposte:


14

Questo script commuta lo stato e mostra un messaggio per confermare ciò che è stato fatto.

#!/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

Per far sparire le istruzioni di zenità, cambiarle in questo modo:

zenity --info --text "Enabled wireless" --timeout="5"
zenity --info --text "Disabled wireless" --timeout="5"

O fai notifiche che compaiono nell'angolo dello schermo. testo alternativo

sudo apt-get install libnotify-bin

Sostituisci le linee di zenità con

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

bello lì con rfkill ;-)
Pavlos G.

bello, c'è un modo per scomparire automaticamente il messaggio di zenità dopo uno o due secondi?
NES,

Sì, risposta aggiornata. C'è --timeout="n"un'opzione non documentata per lo zenity.
misterben,

Puoi descrivere in dettaglio cosa fa lo script? Sono interessato a se è possibile disabilitare il wifi solo quando è collegato Ethernet ?
JJD

@misterben Lo script considera lo stato collegato a Ethernet?
JJD

4

Ho cercato una soluzione a me stesso per un po 'e ho usato molti suggerimenti e trucchi dappertutto. Ho finalmente trovato la soluzione che funziona per me e ho deciso di creare un walk-through per principianti. Abbi pazienza, questo è anche per coloro che sono meno in grado di programmare in Linux di molti di voi, come me;

Fai clic sull'icona di avvio nella barra di scorrimento in alto a sinistra (Dash Home), digita "gedit" e fai clic su Invio.

Ora creerai lo script che attiva / disattiva il wifi;

Ho usato il collegamento del gestore di rete; nmcli nm wifi, per determinare lo stato del wifi e anche per controllarlo. Ho usato lo script di notifica fornito nell'esempio sopra per visualizzare lo stato del wifi. Ecco la mia sceneggiatura;

#!/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

Copia e incolla questo nell'editor che hai appena aperto, e salvalo come qualsiasi nome di file che ritieni appropriato (il mio era wifitoggle).

Il passo successivo è stato rendere il file eseguibile (nella cartella Home; fare clic con il pulsante destro del mouse su file, proprietà, scheda autorizzazioni, segno di spunta su "Esegui come eseguibile").

Quindi posiziona una copia nella directory del file system / usr / bin (apri il terminale, digita sudo nautilus. Naviga su File system, quindi usr, quindi apri bin. Incolla y).

Infine, vai su Impostazioni di sistema -> Tastiera -> scheda Collegamenti; premi il piccolo pulsante + sotto, inserisci il nome del tuo interruttore e inserisci il nome del file per lo script che hai dato (nel mio caso wifitoggle). Fare clic su Applica, quindi fare clic sul testo "diabetico" a destra, quindi premere i tasti di scelta rapida. FATTO!


3

Per disabilitare l'uso dell'adattatore wifi rfkill block wifi, abilitarlorfkill unblock wifi

Invece di wifi puoi usare una delle seguenti parole chiave: all wifi wlan bluetooth uwb ultrawideband wimax wwan gps fm


1

Sì, puoi farlo con cnetworkmanager . È nel repository, quindi installalo e crea un launcher con il comando cnetworkmanager --wifi=nose vuoi disabilitare il wireless e il comando cnetworkmanager --wifi=yesse vuoi abilitare il wireless.


1

Qualcosa del tipo: sudo ifconfig <wlan0> downo sudo ifconfig <wlan0> up?

Ecco la mia sceneggiatura:

#!/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

Cordiali saluti: rfkill come suggerito da David e Misterben è meglio nel caso in cui si utilizzi Network-Manager .
ifconfig disabiliterà l'interfaccia, ma Network Manager la riattiverà automaticamente.


Un'idea per usarlo con la stessa scorciatoia?
NES,

lo controllerò e ti farò sapere ;-)
Pavlos G.,

0

Un'altra sveltina che uso è la rimozione del modulo del kernel wl.

off:

rmmod wl

Su:

modprobe wl

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.