Ist es möglich, eine Verknüpfung zum Aktivieren / Deaktivieren von WLAN einzurichten?

13

Ist es möglich, eine Verknüpfung zum Aktivieren / Deaktivieren von WLAN einzurichten?

NES
quelle

Antworten:

14

Dieses Skript schaltet den Status um und zeigt eine Meldung an, um zu bestätigen, was getan wurde.

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

Ändern Sie diese wie folgt, damit die Zenity-Eingabeaufforderungen ausgeblendet werden:

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

Oder machen Sie Benachrichtigungen, die in der Ecke Ihres Bildschirms angezeigt werden. Alt-Text

sudo apt-get install libnotify-bin

Ersetzen Sie die Zenitlinien durch

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."
Herrben
quelle
schön dort mit rfkill ;-)
Pavlos G.
Schön, gibt es eine Möglichkeit, die Zenity-Meldung nach ein oder zwei Sekunden automatisch zu entfernen?
NES
Ja, aktualisierte Antwort. Es gibt eine undokumentierte --timeout="n"Option für Zenity.
Misterben
Können Sie bitte im Detail beschreiben, was das Skript macht? Ich bin daran interessiert, ob es möglich ist, WLAN nur dann zu deaktivieren, wenn das Ethernet angeschlossen ist .
JJD
@misterben Berücksichtigt das Skript den Status "Ethernet angeschlossen"?
JJD
4

Ich habe eine Weile nach einer Lösung für mich gesucht und eine Menge Tipps und Tricks verwendet. Ich habe endlich die Lösung gefunden, die für mich funktioniert, und mich entschieden, einen Einsteiger-Rundgang zu erstellen. Denken Sie daran, dies gilt auch für diejenigen, die weniger in der Lage sind, unter Linux zu programmieren als viele von Ihnen, wie ich selbst;

Klicken Sie auf das Startsymbol in der oberen linken Leiste (Dash Home), geben Sie "gedit" ein und klicken Sie auf die Eingabetaste.

Sie erstellen jetzt das Skript, mit dem das WLAN umgeschaltet wird.

Ich habe die Netzwerkmanagerverknüpfung verwendet. nmcli nm wifi, um den WLAN-Status zu bestimmen und ihn auch zu steuern. Ich habe das Benachrichtigungsskript aus dem obigen Beispiel verwendet, um den WLAN-Status anzuzeigen. Hier ist mein Drehbuch;

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

Kopieren Sie diese Datei in den soeben geöffneten Editor und speichern Sie sie unter einem beliebigen Dateinamen (meiner war wifitoggle).

Der nächste Schritt bestand darin, die Datei ausführbar zu machen (klicken Sie im Basisordner mit der rechten Maustaste auf Ihre Datei, Eigenschaften, Registerkarte "Berechtigungen" und markieren Sie "Als ausführbar ausführen").

Legen Sie dann eine Kopie in das Verzeichnis Dateisystem / usr / bin (öffnen Sie das Terminal, geben Sie sudo nautilus ein. Navigieren Sie zu Dateisystem, dann usr und öffnen Sie bin. Einfügen y).

Schließlich gehen Sie zu Systemeinstellungen -> Tastatur -> Registerkarte Verknüpfungen; drücke den kleinen + Knopf darunter, gib den Namen für deinen Toggle ein und den Dateinamen für das Skript, das du gegeben hast (in meinem Fall wifitoggle). Klicken Sie auf "Übernehmen" und dann auf den Text "Deaktiviert" rechts daneben. Drücken Sie dann Ihre Tastenkombinationen. ERLEDIGT!

Johno
quelle
3

Zum Deaktivieren Ihres WLAN-Adapters verwenden Sie rfkill block wifi , um ihn zu aktivierenrfkill unblock wifi

Anstelle von WLAN können Sie eines der folgenden Schlüsselwörter verwenden: all wifi wlan bluetooth uwb ultrawideband wimax wwan gps fm

David
quelle
1

Ja, das kannst du mit cnetworkmanager . Es befindet sich im Repository. Installieren Sie es und erstellen Sie einen Starter mit dem Befehl, cnetworkmanager --wifi=nowenn Sie die drahtlose Verbindung deaktivieren möchten, und dem Befehl, cnetworkmanager --wifi=yeswenn Sie die drahtlose Verbindung aktivieren möchten.

Shakipu
quelle
1

So etwas wie: sudo ifconfig <wlan0> downodersudo ifconfig <wlan0> up ?

Hier ist mein Drehbuch:

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

Zur Info: rfkill als David und misterben vorgeschlagen ist besser , falls Sie sich mit Netzwerk-Manager .
ifconfig deaktiviert die Schnittstelle, Network-Manager aktiviert sie jedoch automatisch wieder.

Pavlos G.
quelle
Eine Idee, es mit derselben Verknüpfung zu verwenden?
NES
Ich werde das überprüfen und ich werde Sie wissen lassen ;-)
Pavlos G.
0

Ein weiterer Quickie, den ich benutze, ist das Entfernen des wl-Kernel-Moduls.

Aus:

rmmod wl

Auf:

modprobe wl

Pete Ashdown
quelle