Respuestas:
Este script alternará el estado y mostrará un mensaje para confirmar lo que se ha hecho.
#!/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 desaparezcan las indicaciones de zenity, cámbielas así:
zenity --info --text "Enabled wireless" --timeout="5"
zenity --info --text "Disabled wireless" --timeout="5"
O haga notificaciones que aparecen en la esquina de su pantalla.
sudo apt-get install libnotify-bin
Reemplace las líneas zenity 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"
opción indocumentada para zenity.
He estado buscando una solución para esto por un tiempo, y he usado muchos consejos y trucos para todo. Finalmente encontré la solución que funciona para mí y decidí crear un tutorial para novatos. Tenga paciencia conmigo, esto también es para aquellos menos capaces de programar en Linux que muchos de ustedes, como yo;
Haga clic en el icono del iniciador en la barra deslizante superior izquierda (Inicio de tablero), escriba 'gedit' y haga clic en Intro.
Ahora va a crear la secuencia de comandos que alternará el wifi;
Usé el acceso directo del administrador de red; nmcli nm wifi, para determinar el estado de wifi y también para controlarlo. Usé el script de notificación que se muestra en el ejemplo anterior para mostrar el estado de wifi. Aquí está mi guión;
#!/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 y pegue esto en el editor que acaba de abrir, y guárdelo como cualquier nombre de archivo que considere apropiado (el mío era wifitoggle).
El siguiente paso fue hacer que el archivo sea ejecutable (en la carpeta de inicio; haga clic con el botón derecho en su archivo, propiedades, pestaña de permisos, marque la casilla 'Ejecutar como ejecutable').
Luego, coloque una copia en el directorio del sistema de archivos / usr / bin (abra la terminal, escriba sudo nautilus. Navegue hasta Sistema de archivos, luego usr, luego abra bin. Pegue y).
Finalmente, vaya a Configuración del sistema -> Teclado -> pestaña Accesos directos; presione el pequeño botón + debajo, complete el nombre de su palanca y complete el nombre del archivo para el script que dio (en mi caso, wifitoggle). Haga clic en aplicar y haga clic en el texto 'marcado' a la derecha de eso, y luego presione las teclas de acceso rápido. ¡HECHO!
Sí, puedes hacerlo con cnetworkmanager . Está en el repositorio, así que instálelo y cree un iniciador con el comando cnetworkmanager --wifi=no
si desea deshabilitar la cnetworkmanager --wifi=yes
conexión inalámbrica y el comando si desea habilitar la conexión inalámbrica.
Algo como: sudo ifconfig <wlan0> down
o sudo ifconfig <wlan0> up
?
Aquí está mi guión:
#!/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
FYI: rfkill como david y misterben sugirieron es mejor en caso de que estés usando Network-Manager .
ifconfig deshabilitará la interfaz, pero Network-Manager la volverá a habilitar automáticamente.
Otro método rápido que uso es eliminar el módulo del núcleo wl.
Apagado:
rmmod wl
En:
modprobe wl