Risposte:
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.
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."
--timeout="n"
un'opzione non documentata per lo zenity.
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!
Sì, puoi farlo con cnetworkmanager . È nel repository, quindi installalo e crea un launcher con il comando cnetworkmanager --wifi=no
se vuoi disabilitare il wireless e il comando cnetworkmanager --wifi=yes
se vuoi abilitare il wireless.
Qualcosa del tipo: sudo ifconfig <wlan0> down
o 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'altra sveltina che uso è la rimozione del modulo del kernel wl.
off:
rmmod wl
Su:
modprobe wl