WLAN-Umschaltskript läuft über i3 nicht richtig

WLAN-Umschaltskript läuft über i3 nicht richtig

Ich habe die folgende Zeile in meinem ~/.i3/config:

bindsym XF86WLAN exec ~/.i3/i3-scripts/toggle-wifi.sh

toggle-wifi.sh:

#!/bin/bash

if nmcli nm wifi | grep -q "disabled" ; 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

Das Skript funktioniert einwandfrei, wenn es vom Terminal aus ausgeführt wird. ./toggle-wifi.shWenn ich es jedoch mit der Tastaturbelegung mit i3 ausführe,ermöglichtWLAN, niedeaktiviert.

Merkwürdig ist, wenn ich die Taste zum Ausführen des Skripts mehrere Male schnell hintereinander drücke, kommt die Meldung „ Wireless disabledeinmal“. Sonst kommt immer die Meldung „ Wireless enabled.

Kann jemand helfen oder alternative Skripte anbieten, mit denen dasselbe erreicht werden kann?

Antwort1

Das klingt nach einem Wettlaufzustand: Eine andere App analysiert möglicherweise dieselbe Taste, um WLAN umzuschalten.

Dies lässt sich prüfen, indem Sie Ihr Skript an einen nicht verwandten Schlüssel binden: Wenn Ihr Skript mit diesem anderen Schlüssel wie erwartet funktioniert, liegt ein Race Condition auf XF86WLAN vor.

verwandte Informationen