AlexiaChen.github.io icon indicating copy to clipboard operation
AlexiaChen.github.io copied to clipboard

WSL用了export再import导入到一个特定目录无法指定Linux默认用户的问题

Open AlexiaChen opened this issue 5 years ago • 3 comments

如果没有经过标题的操作,运行以下命令就可以了:

<DistroName> config --set-default-user [username] 

但是,经过导出导入后,默认登陆进去是root用户,我想换回来我自己的用户。发现以上方法不行了。

还好找到了WSL官方的这个issue

步骤:

  • 写一个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); };
  • 再通过PowerShell调用这个函数:
 WSL-SetDefaultUser <DistroName> <username>

这个方法比较麻烦,发现还操作注册表了,对用户暴露了过多细节,这只是临时方案,希望微软以后改进。比如这样:

wsl <DistroName> --set-default-user <username>

AlexiaChen avatar May 20 '20 08:05 AlexiaChen

现在还是有这个问题,我只能每次重启后 输入 Ubuntu2004 config --default-user <username>

owenstake avatar Jul 12 '22 06:07 owenstake

现在还是有这个问题,我只能每次重启后 输入 Ubuntu2004 config --default-user <username>

你不看我的解决办法吗?

AlexiaChen avatar Jul 12 '22 06:07 AlexiaChen

要写一个powershell的函数,这样你就不需要每次这样了。好好看内容吧。@owenstake

AlexiaChen avatar Jul 12 '22 06:07 AlexiaChen