У меня есть следующий сценарий (в моем PATH):
#!/usr/bin/env bash
main()
{
local state=$(sudo rfkill list wifi -n -o SOFT)
if [[ $state == 'blocked' ]]
then
sudo rfkill unblock wifi
state='Unblocked'
else
sudo rfkill block wifi
state='Blocked'
fi
notify-send 'Wi-Fi' "$state"
exit 0
}
main $@
Запуск сценария из командной строки работает должным образом, затем я добавляю следующий ярлык в свой .xbindkeysrc
:
"kill-wifi"
XF86WLAN
Но уведомления и интерфейс Wi-Fi застревают в одном из двух состояний, blocked
или unblocked
, он не переключается. Иногда, если я нажимаю несколько раз клавишу XF86WLAN
, я переключаюсь.
Странно то, что использование другой клавиши для запуска скрипта, например F8 , все это работает нормально, но я хочу оставить F8 для других целей, кроме переключения Wi-Fi.
Итак, одна из моих догадок заключалась в том, что есть «что-то», связывающее XF86LAN KeySym, что приводит к сбоям при запуске моего скрипта. Но затем комментируя команду, которая фактически уничтожает интерфейс WiFi, выдает правильные уведомления (но я на самом деле не делаю ничего полезного).
Любые указатели приветствуются.