从 i3 配置运行脚本

从 i3 配置运行脚本

我使用的是 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

然后注销并重新登录;现在它应该可以工作了。

相关内容