WSLにホスト側からアクセスする

Windows+WSL(Ubuntu)の環境にしてしまえば、ブラウザ以外の作業とかをすべて、WSL上で行えば、Ubuntuで操作しているのとほぼ変わることがないほど、WSLの品質は上がっていると思う今日この頃。この環境で使う場合に、Windows側からWSLで起動したHTTPサーバとかサービスとかにアクセスできないと不便な感じになってしまうが、c:\Users\ユーザー名\.wslconfig で

[wsl2]
localhostForwarding=true

と記述して、WSLを使えば、Windows側でlocalhost:8080とかアクセスすれば、WSL上で起動している8080のサービスにアクセスできるようになる。

WSLの割り当てメモリ量を変更する

デフォルトだと、ホストマシンの50%か8GBのどちらかになる。メモリの割り当て量を変更したい場合には、c:\Users\ユーザー名\.wslconfig に

[wsl2]
memory=16GB

という感じで指定すればよい。設定の反映は、wsl –shutdownとかで、一度、WSLを止めるなどすればよい。

WSLの実行ユーザーIDを変える

WSLの実行ユーザーのuidはデフォルトは1000になっているが、変更したい場合は管理者でregeditを開いて、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\{…}\DefaultUid の値を変更する。あとは、WSLのLinux側で/etc/passwdでuidを変えたり、/home/…でchownしておく。