はじめに
WSLを実行しようとしたところ、以下のように「.wslconfig:1 に不明なキー 'XXXXX' があります」というエラーが表示されました。
ここでは.wslconfigに唯一設定した「localhostForwarding」という項目が、なぜかエラーとして扱われていたので、その理由を調べてみました。
WSLの実行
PS C:\Users\NKOJIMA> wsl
wsl: C:\Users\NKOJIMA\.wslconfig:1 に不明なキー 'localhostForwarding' があります
詳細な状態
- 上記のエラーは、一度WSLを起動して
exit
した後は発生しなくなりました。- ただし、別のディストリビューション(仮想マシン)を起動すると同様に初回だけエラーが発生しました。
-
wsl --shutdown
でWSLそのものをシャットダウンした後、再度WSLを起動すると再び同じエラーが発生しました。
.wslconfigの状態
- WSL2では「起動したディストリビューション(仮想マシン)に
localhost
でアクセスできる」という機能が提供されており、この機能はデフォルトで有効となっています。- このデフォルトで有効となっている機能が、
.wslconfig
に書かれているlocalhostForwarding=True
となります。
- このデフォルトで有効となっている機能が、
- 以下の内容が.wslconfigに書かれていた内容ですが、このファイルが自動生成されたものなのかは不明です。
- もしかすると私自身が作ったファイルかもしれませんが、全く記憶にありません...
.wslconfig
localhostForwarding=True
.wslconfigを見比べる
-
rcmdnk's blogの記事に書かれている
.wslconfig
を見ると、[wsl2]
と書かれた行があることに気が付きました。 - そこでMicrosoftのサイトを探してみると、こちらの記事で「localhostForwardingというキーは、[wsl2]というセクションラベルに紐付いている」ということが分かりました。
rcmdnk's blogでの.wslconfigの設定
[wsl2]
localhostForwarding=False
解決方法
- 上記のMicrosoft Learnの記事に従い、
.wslconfig
に[wsl2]
というセクションラベルを付けてみたところ、「.wslconfig:1 に不明なキー 'XXXXX' があります」というエラーは出なくなりました。- 同種のエラーの場合、セクションラベルの設定を見直すと解決する可能性がありそうです。
修正した.wslconfig
[wsl2]
localhostForwarding=True