アプリ開発備忘録

PlayStationMobile、Android、UWPの開発備忘録

WSLでimport、export、デフォルトユーザー名を変更

WSLの環境はimport、exportができ、Windowsの標準機能とコマンドで簡単に環境を戻したり、複製したりできるのが便利です。

エクスポート

以下のコマンドでエクスポートします。

wsl --export [distribution_name] [file_name].tar

インポート

以下のコマンドでインポートして、いつでも環境を復元できます。

wsl --import [distribution_name] [path/to/install/dir] [file_name].tar --version 2

「 --version 2」をつけるとWSL2になります。

エクスポートしてインポートするとデフォルトのユーザーがrootになってしまいます。
なので以下のようにユーザー名を指定して起動しないといけません。

wsl -d [name] -u [user_name]

デフォルトユーザーを変更

ユーザー名を指定するのが面倒なのでデフォルトユーザー名を変更しましょう。以下に便利な関数がありましたので使用しました。(powershell)

Function WSL-SetDefaultUser ($distro, $user) { Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\*\ DistributionName | Where-Object -Property DistributionName -eq $distro | Set-ItemProperty -Name DefaultUid -Value ((wsl -d $distro -u $user -e id -u) | Out-String); };
WSL-SetDefaultUser <DistroName> <UserName>

https://github.com/Microsoft/WSL/issues/3974