我正在制作一个“dmenu”shell 脚本,它将读取我的 VPN 连接列表并通过 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)