저는 VPN 연결 목록을 읽고 dmenu를 통해 연결하는 "dmenu" 쉘 스크립트를 만들고 있습니다. 사용자가 적절한 항목을 선택한 후 "nmcli"를 호출합니다.
쉘은 스크립트입니다.
#!/bin/sh
export vpn_name=$(echo -e "OFF\n$(nmcli -f NAME,TYPE con show | awk '$2 == "vpn" {print $1}')" | dmenu -p "Connect to VPN:" -i -l 20)
if [ "$vpn_name" == "OFF" ]; then
nmcli -f NAME,TYPE,ACTIVE con show | awk '$2 == "vpn" && $3 == "yes" {print $1}' | xargs nmcli con down
else
echo "executing else" >> /tmp/vpn
i3-msg "exec --no-startup-id \"$TERM --hold -t 'Connect to VPN'\""
fi
이제 내 문제는 xbindkeys에서 스크립트를 실행할 때 아무 일도 일어나지 않는다는 것입니다.
bindsym $mod+Shift+v exec ~/.local/bin/dmenu/vpn.sh
터미널에서 정상적으로 실행하는 것을 테스트했는데(alacritty) 모든 것이 잘 작동합니다.
xbindkey 단축키를 사용할 때 i3가 exec 명령을 실행하지 않는 이유는 무엇입니까?
PS: 내 환경은
i3 버전 4.23 Linux 6.7.9-arch1-1(x11)