質問:
私は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 + [未設定のキー]を実行した場合と同様に、キーがその値を画面に書き込みます。したがって、i3は少なくとも関数を実行しようとしているようです。
exec
コマンドは、指定したコマンドをシェルに渡してアプリケーションを起動します。これは、プログラムが$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
同じ動作をし、スクリプトは機能します。