
Estou tendo problemas para executar o Ubuntu para WSL2 no meu terminal Windows como usuário regular.
Em vez de receber um prompt do bash, recebo o seguinte, e acho que é porque tenho mais de uma distribuição Ubuntu com o mesmo nome, veja abaixo:
Versão do Windows: Microsoft Windows [versão 10.0.19044.1586]
Versão WSL:0.0.0.0
Você está usando WSL1 ou WSL2:WSL2
Versão do kernel:Linux versão 5.10.102.1-microsoft-standard-WSL2 (oe-user@oe-host) (x86_64-msft-linux-gcc (GCC) 9.3.0, GNU ld (GNU Binutils) 2.34.0.20200220) #1 SMP Qua Mar 2 00:30:59 UTC de 2022
Passos para reproduzir:
Abra o Terminal do Windows como uma conta não administrativa.
Clique na guia de seta para baixo na parte superior e selecione Ubuntu.
Uma nova guia aparece com a seguinte mensagem de erro:
Não é possível criar um arquivo quando esse arquivo já existe.
[processo encerrado com código 4294967295 (0xffffffff)] Agora você pode fechar este terminal com Ctrl+D ou pressionar Enter para reiniciar.
Acho que o problema tem a ver com o fato de existirem duas distros Ubuntu chamadas Ubuntu, mas que possuem um GUID/UUID diferente no registro:
wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
Ubuntu Stopped 2
PS C:\Users\me-user> reg query hkcu\software\microsoft\windows\currentversion\lxss
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss
DefaultVersion REG_DWORD 0x2
DefaultDistribution REG_SZ {c329c2ee-fd20-4986-873a-351737eaf399}
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\AppxInstallerCache
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{c329c2ee-fd20-4986-873a-351737eaf399}
Se você notar que o primeiro tem valores, mas o segundo não:
Primeiro:
PS C:\Users\me-user> reg query "hkcu\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}" /v DistributionName
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}
DistributionName REG_SZ Ubuntu
PS C:\Users\me-user> reg query "hkcu\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}"
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{97307d71-8998-42a4-9600-ff372b6ec1ee}
State REG_DWORD 0x1
DistributionName REG_SZ Ubuntu
Version REG_DWORD 0x2
BasePath REG_SZ C:\Users\me-user\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState
Flags REG_DWORD 0xf
DefaultUid REG_DWORD 0x0
PackageFamilyName REG_SZ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
2º
PS C:\Users\me-user> reg query "hkcu\software\microsoft\windows\currentversion\lxss\{c329c2ee-fd20-4986-873a-351737eaf399}" /v DistributionName
HKEY_CURRENT_USER\software\microsoft\windows\currentversion\lxss\{c329c2ee-fd20-4986-873a-351737eaf399}
DistributionName REG_SZ Ubuntu
(Sem outras chaves/valores)
Percebi que o wsl padrão está definido como o segundo c329c2ee-fd20-4986-873a-351737eaf399
:
DefaultDistribution REG_SZ {c329c2ee-fd20-4986-873a-351737eaf399}
É seguro alterar a distribuição padrão para "a primeira" {97307d71-8998-42a4-9600-ff372b6ec1ee}
para que eu não veja mais a mensagem de erro ao tentar abri-la no Windows Terminal?
Veja também: https://github.com/microsoft/WSL/issues/7998
Cannot create a file when that file already exists.
[process exited with code 4294967295 (0xffffffff)]
You can now close this terminal with Ctrl+D, or press Enter to restart.