Keyboard-Shortcuts

從 i3 配置執行腳本

  • September 1, 2017

問題:

我正在使用 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

具有相同的行為並且腳本有效。

引用自:https://unix.stackexchange.com/questions/318324