我使用的是 i3-wm,并且将 Mod3 用作热键。我在 './config/i3/config' 中有以下内容:
#This command works
bindsym Mod3+f exec "firefox"
#This doesn't work nor do my other scripts
bindsym Mod3+w exec "openBrowser"
当我从 bash 运行这两个命令时,它们都运行正常,但只有“firefox”命令使用热键运行。
openBrowser 是 /opt/bin/ 中的一个脚本,位于我的路径中。还尝试过exec "/opt/bin/openBrowser"
注意:我还注意到,当我在 bash 中执行 Mod3+w 时,光标会闪烁,而当我执行 Mod3+[任何未设置的键] 时,该键会将其值写入屏幕。因此,系统似乎至少在尝试运行该函数。
答案1
显然i3 用途sh
启动东西,并且不$PATH
来源于~/.bashrc
:
cat ~/.xsession-errors
(...)
/bin/sh: 1: mycommand: not found
因此,只需创建一个~/.xsessionrc
文件并在其中放入如下内容:
if [ -d "/opt/bin" ] ; then
PATH="/opt/bin:$PATH"
fi
然后注销并重新登录;现在它应该可以工作了。