Réponses:
Ce script bascule l'état et affiche un message pour confirmer ce qui a été fait.
#!/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
Pour que les invites de zénité disparaissent, changez-les comme suit:
zenity --info --text "Enabled wireless" --timeout="5"
zenity --info --text "Disabled wireless" --timeout="5"
Ou faites des notifications qui apparaissent dans le coin de votre écran.
sudo apt-get install libnotify-bin
Remplacez les lignes de zénité par
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"
option non documentée pour la zénité.
Je cherchais depuis longtemps une solution à ce problème et j'ai utilisé beaucoup de trucs et astuces partout. J'ai finalement trouvé la solution qui me convient et j'ai décidé de créer une visite virtuelle pour les débutants. Soyez patient, c'est aussi pour ceux qui sont moins capables de programmer sous Linux que beaucoup d'entre vous, comme moi;
Cliquez sur l'icône du lanceur dans la barre coulissante en haut à gauche (Dash Home), tapez 'gedit' et cliquez sur Entrée.
Vous allez maintenant créer le script qui basculera le wifi;
J'ai utilisé le raccourci du gestionnaire de réseau; nmcli nm wifi, pour déterminer l'état du wifi, mais aussi pour le contrôler. J'ai utilisé le script de notification donné dans l'exemple ci-dessus pour afficher l'état wifi. Voici mon 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
Copiez et collez ceci dans l'éditeur que vous venez d'ouvrir, et enregistrez-le sous n'importe quel nom de fichier que vous trouvez approprié (le mien était wifitoggle).
L'étape suivante consistait à rendre le fichier exécutable (dans le dossier d'accueil; cliquez avec le bouton droit sur votre fichier, propriétés, onglet autorisations, cochez la case «Exécuter en tant qu'exécutable»).
Placez ensuite une copie dans le répertoire du système de fichiers / usr / bin (ouvrez le terminal, tapez sudo nautilus. Accédez au système de fichiers, puis usr, puis ouvrez bin. Collez y).
Enfin, allez dans Paramètres système -> Clavier -> onglet Raccourcis; appuyez sur le petit bouton + en dessous, saisissez le nom de votre bascule et saisissez le nom de fichier du script que vous avez donné (dans mon cas wifitoggle). Cliquez sur Appliquer, puis sur le texte "désactivé" à droite de cela, puis appuyez sur vos touches de raccourci. TERMINÉ!
Oui, vous pouvez avec cnetworkmanager . Il est dans le référentiel, installez-le et créez un lanceur avec la commande cnetworkmanager --wifi=no
si vous souhaitez désactiver le sans fil et la commande cnetworkmanager --wifi=yes
si vous souhaitez activer le sans fil.
Quelque chose comme: sudo ifconfig <wlan0> down
ousudo ifconfig <wlan0> up
?
Voici mon 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
FYI: rfkill comme David et misterben l'ont suggéré est meilleur au cas où vous utilisez Network-Manager .
ifconfig désactivera l'interface, mais Network-Manager la réactivera automatiquement.
Un autre quickie que j'utilise est la suppression du module du noyau wl.
De:
rmmod wl
Sur:
modprobe wl