Est-il possible de configurer un raccourci pour activer / désactiver le wifi?

13

Est-il possible de configurer un raccourci pour activer / désactiver le wifi?

NDA
la source

Réponses:

14

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. texte alternatif

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."
misterben
la source
sympa avec rfkill ;-)
Pavlos G.
bien, existe-t-il un moyen de disparaître automatiquement le message de zénité après une ou deux secondes?
NES
Oui, réponse mise à jour. Il existe une --timeout="n"option non documentée pour la zénité.
misterben
Pouvez-vous décrire en détail ce que fait le script? Je suis intéressé à savoir s'il est possible de désactiver le wifi uniquement lorsque Ethernet est branché ?
JJD
@misterben Le script considère-t-il l'état branché Ethernet?
JJD
4

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É!

Johno
la source
3

Pour désactiver votre adaptateur wifi, utilisez rfkill block wifi , pour l'activer, utilisezrfkill unblock wifi

Au lieu du wifi, vous pouvez utiliser l'un des mots clés suivants: all wifi wlan bluetooth uwb ultrawideband wimax wwan gps fm

David
la source
1

Oui, vous pouvez avec cnetworkmanager . Il est dans le référentiel, installez-le et créez un lanceur avec la commande cnetworkmanager --wifi=nosi vous souhaitez désactiver le sans fil et la commande cnetworkmanager --wifi=yessi vous souhaitez activer le sans fil.

Shakipu
la source
1

Quelque chose comme: sudo ifconfig <wlan0> downousudo 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.

Pavlos G.
la source
Une idée pour l'utiliser avec le même raccourci?
NES
je vais vérifier cela et je vous ferai savoir ;-)
Pavlos G.
0

Un autre quickie que j'utilise est la suppression du module du noyau wl.

De:

rmmod wl

Sur:

modprobe wl

Pete Ashdown
la source