まめぞうの技術メモ

IT関連で勉強したことをメモします

WSLのログインユーザーを変更する方法

適当な名前でログインユーザ名を作ってしまったので変えたくなりました。

WSLのログインユーザーを変更する方法
今回のお題!

WSLのログインユーザーを変更する方法をメモします。

まずは WSL OS側にユーザー追加する

WSL で OS に入ってadduserコマンドでユーザー追加します。

$ sudo adduser ユーザー名

wsl -u オプションで入れます

wsl -uコマンドでユーザー指定してログインできます。

wsl -u ユーザー名

WSL でディストリビューションの既定ユーザーを変更する

これでは変更が面倒なので、規定のユーザーを変更します。

learn.microsoft.com

こちらによると以下でできるそうなのですが...

ディストリビューション名 config --default-user ユーザー名

あれ?command not found だ。

PS C:\WINDOWS\system32> Ubuntu config --default-user mame
Ubuntu : 用語 'Ubuntu' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されま
せん。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してく
ださい。
発生場所 行:1 文字:1
+ Ubuntu config --default-user mame
+ ~~~~~~
    + CategoryInfo          : ObjectNotFound: (Ubuntu:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

小文字(ubuntu)にしても一緒でした。

先程の MS のサイトには、

これらのディストリビューションには実行可能ランチャーがないため、インポートされたディストリビューションではこのコマンドは機能しません。 代わりに、/etc/wsl.conf を使用して、インポートされたディストリビューションの既定のユーザーを変更できます。

とあり、インポートなんかしたっけ?と思いつつ、やってみます。

/etc/wsl.conf を変更する

まずは、wsl で環境に入ります。

/etc/wsl.conf を開いて、中のファイルのユーザー名を書きかえます。

私は vi でやりました。

$ sudo vi /etc/wsl.conf

以下の default を書き換える。

[boot]
systemd=true

[user]
default=ユーザー名

そうしたら、exit で抜けます。

wsl を落とします。

wsl --shutdown

そして、wsl で入ります。

こんな感じで、(私は mame というユーザーに変えました)反映されてました。

$ whoami
mame