Keyboard-Shortcuts
從 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/
在我的路徑中。還嘗試做:#This command works bindsym Mod3+f exec /opt/bin/openBrowser
我還嘗試了其他腳本,這些腳本在 i3 呼叫時都不起作用。因此,我確定這不是腳本的問題。
我還注意到,當我在 bash 中時,如果我執行 Mod3+w,我的游標會閃爍,就好像我在執行 Mod3+
$$ any unset key $$鍵將其值寫入螢幕。所以看起來 i3 至少在嘗試執行該功能。
我試圖複製您描述的問題。我發現我同時存在兩個 i3 配置文件。
~/.config/i3/config
和~/.i3/config
。就我而言,編輯
~/.config/i3/config
沒有效果,因為它似乎~/.i3/config
勝過它。這是一個很長的鏡頭,但是看看您是否有多個配置文件,並且可能您正在編輯錯誤的配置文件。
該
exec
命令通過將您指定的命令傳遞給 shell 來啟動應用程序。這意味著您的程序將在您的$PATH
. 預設值$PATH
通常不包括/opt/bin
,例如 my 是:andreatsh@debian:~ 11:28 > echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
嘗試添加
/opt/bin
到您的路徑,放入您的~/.bashrc
:export PATH=$PATH:/opt
我做了一些測試,這為我解決了問題。現在:
bindsym Mod3+w exec somescript bindsym Mod3+w exec /opt/bin/somescript
具有相同的行為並且腳本有效。