【メモ】WSL2上でIntelliJを動かして開発する最小限の準備


概要

最近作業用のPCを入れ替えたついでにWSL2を使い始めました。
主な用途としてはDockerなんですが、ベストプラクティスとしては作業ファイルもLinux上に配置した方がいいらしいです。
VSCodeではWSL2での作業を想定したプラグインが提供されていてIntelliJでも同じことができないかなーと思いいろいろ調べました。

現時点ではVSCodeに提供されているプラグインと同じ機能のものはなさそうなんですが、
ちょっとした設定で同等のことが出来そうなので試行錯誤した結果をメモしておきます。

前提

WSL2の導入はすでに終わっているものとします。(導入方法などは解説しません)
使用するOSはUbuntuです。
2020年10月時点での情報です。

Windows側の設定

こちらの記事を参考にさせていただきました。
↓↓↓
WSL2におけるVcXsrvの設定

Ubuntu側の設定

やることを簡単に箇条書き

  1. XWindowSystemの出力先をホストOSにする
  2. ブラウザをインストールする(JetBrainsのアカウント認証に使用する)
  3. JetBrainsToolboxをインストールする

何回か試したところブラウザはChromeを選んだ方が簡単でした。
Firefoxだと何個か手動でパッケージを追加する必要がありました。

コマンドを列挙

XWindowSystemの出力先をホストマシンに指定する
sed -i '$a export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '\''{print $2}'\''):0' .bashrc
chromeをインストールするためのリポジトリ追加
sudo wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
インストールする前に実行
sudo apt update
ブラウザをインストール
sudo apt install google-chrome-stable
JetBrainsToolboxをインストール
curl -O https://raw.githubusercontent.com/nagygergo/jetbrains-toolbox-install/master/jetbrains-toolbox.sh
chmod u+x jetbrains-toolbox.sh
./jetbrains-toolbox.sh

参考URL

あとはUbuntuを再起動しToolboxを起動する

ホストマシンで実行
wsl -t Ubuntu
Toolboxを起動
jetbrains-toolbox

これでWindowsにインストールしたIntelliJとほぼ変わらない感じで使えそうです。

Firefoxを使う場合(補足情報)

Firefoxの場合は以下のパッケージが不足するみたいです。
最初Firefoxを使おうと思って躓いたので調査した結果です。

Toolboxが要求するライブラリ
sudo apt install libnss3
sudo apt install libgbm1

そしてこちらを入れないとブラウザで認証した後のリダイレクトがうまく動きません。

これを入れないとToolbox認証後に反応しない
sudo apt install xdg-utils

認証が成功した後に jetbrains というプロトコルを使用しようとしてunknown protocolになっていました。
(あまりよくわかっていない)

まとめ

あまりWSL周りに手を出してこなかったのですがとても便利そうだと感じました。
WindowsでDockerを使用した開発のストレスもだいぶ軽減されそうです。
このまま発展が続いてOSの機能的な違いなんて意識しない未来が来ると素晴らしいなと思いました!

その他の関連情報

日本語化