LoginSignup
0
0

More than 1 year has passed since last update.

WSLにgenieを導入しているとIntelliJ IDEAのターミナルがプロジェクトディレクトリで開かない問題

Posted at

はじめに

WSLにgenieを入れている方、そこそこいるのではないかと思います。
genieとはWSLでsystemdpid1で実行させるためのツールで、systemctlを使うために導入します。
genieについては以下のページが詳しいです。

問題点

genieを使う際は基本的にgenie -sを実行してシェルに入ります。
通常の使い方ではprofileファイル等にコマンドを書いておいて、自動的にgenieの環境に入るようにすると思います。
しかし、genie -sは必ずホームディレクトリでシェルを実行され、環境変数を引き継ぎません
これにより、IntelliJ IDEAのターミナルにWSLを指定していた場合に、
プロジェクトディレクトリではなくホームディレクトリが開かれてしまい、少々不便です。

解決

genie -sではなくgenie -cを使うことで解決できます。
以下の通り、-sはシェルを実行しますが、-cはコマンドを実行します。
そして、-sと違って-cはカレントディレクトリや環境変数を保持します。

Commands:
  -s, --shell                Initialize the bottle (if necessary), and run a shell in it.
  -c, --command <COMMAND>    Initialize the bottle (if necessary), and run the specified command in it.

-c-s以外は省略しています。

ということで、実際に設定するコマンドは以下のようになります。

wsl.exe genie -c "bash"

これをIntelliJ IDEAのターミナル設定のShell path:部分に入力しましょう。
image.png

以上でターミナルがプロジェクトディレクトリで開くようになります。

おわりに

IntelliJ IDEAがWSLに対応する前からgenieを入れていたため、
これに気づくまではずっとIntelliJ IDEAのバグなんだと思っていました😅
PCが変わり、WSL環境を新たに構築する際にやっとgenieが原因だと気づきました。
安易にツールのバグだと思い込むのは良くないですね🥺

参考

arkane-systems/genie
https://github.com/arkane-systems/genie

"Open a linux shell" and genie
https://github.com/arkane-systems/genie/wiki/%22Open-a-linux-shell%22-and-genie

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0