Wi-Fi切り替えスクリプトがi3を介して正しく実行されない

Wi-Fi切り替えスクリプトがi3を介して正しく実行されない

私は次のような行を持っています~/.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

端末で実行するとスクリプトは正常に動作します./toggle-wifi.shが、i3のキーバインディングを使用して実行すると作るWi-Fiは決してない障害を負う

奇妙なことは、スクリプトを実行するためにキーを数回すばやく押すとWireless disabled一度だけ話すことです。それ以外の場合は常にマークされますWireless enabled

誰もが同じタスクを実行するために代替スクリプトを支援または提供できますか?

ベストアンサー1

これは競争条件のように聞こえます。他のアプリはWi-Fiを切り替えるために同じキーを解析できます。

これは、スクリプトを関連していないキーにバインドすることで確認できます。他のキーによってスクリプトが期待どおりに機能する場合は、XF86WLANに競合状態があります。

おすすめ記事