web-dev-qa-db-ja.com

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 + [未設定のキー]を実行した場合と同様に、キーがその値を画面に書き込みます。したがって、i3は少なくとも関数を実行しようとしているようです。

3

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

同じ動作をし、スクリプトは機能します。

2
andreatsh