事象
WSL2でzshを使っていると、terminalで改行しまくるとカーソルが改行操作に追いつかないくらい激遅になっている。
原因
WSL2側でコマンドを叩くときに、毎回Windows側のパスも含めて調べ、激遅になっているらしい。
対策
/etc/wsl.conf
を以下のように書き換える。
/etc/wsl.conf
[interop]
appendWindowsPath = false
こうすることで、Windows側のパスをWSL2側では無視する。
ただ、これによって通常のWSL2側で実行できるはずのWindows側のアプリケーションが使用できなくなる。
対策として、/etc/wsl.conf
を設定する前に(もしくはappendWindowsPath = true
として設定した際に)、自分の使用したいアプリケーションのパスを調べておいて、ソフトリンクを作成したり、エイリアスを作成することができる。
- アプリケーションのパスを調べる
$ which explorer.exe [16:14:42]
/mnt/c/Windows/explorer.exe
/mnt/c/WINDOWS/explorer.exe
/mnt/c/WINDOWS/explorer.exe
$ which code [16:14:50]
/mnt/c/Users/***/AppData/Local/Programs/Microsoft VS Code/bin/code
私の場合は、以下のAlias設定を.zshrc
に書いておくことで実行できるようにしておく
alias code="/mnt/c/Users/***/AppData/Local/Programs/Microsoft\ VS\ Code/bin/code"