"¿No se puede crear un archivo cuando ese archivo ya existe" en la Terminal de Windows al abrir WSL2?

"¿No se puede crear un archivo cuando ese archivo ya existe" en la Terminal de Windows al abrir WSL2?

Tengo problemas para ejecutar Ubuntu para WSL2 en mi Terminal de Windows como usuario normal.

En lugar de recibir un mensaje de bash, aparece lo siguiente, y creo que es porque tengo más de una distribución de Ubuntu con el mismo nombre, consulte a continuación:

Versión de Windows: Microsoft Windows [Versión 10.0.19044.1586]

Versión WSL:0.0.0.0

¿Está utilizando WSL1 o WSL2?WSL2

Versión del núcleo:Versión de Linux 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 miércoles marzo 2 00:30:59 UTC 2022

Pasos para reproducir:

  1. Abra Windows Terminal como una cuenta que no sea de administrador.

  2. Haga clic en la pestaña de flecha hacia abajo en la parte superior y seleccione Ubuntu.

  3. Aparece una nueva pestaña con el siguiente mensaje de error:

    No se puede crear un archivo cuando ese archivo ya existe.

    [proceso finalizado con el código 4294967295 (0xffffffff)] Ahora puede cerrar esta terminal con Ctrl+D o presionar Enter para reiniciar.

Creo que el problema tiene que ver con el hecho de que hay dos distribuciones de Ubuntu llamadas Ubuntu pero que tienen un GUID/UUID diferente en el 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}

Si notas que el primero tiene valores, pero el segundo no:

El primero:

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

2do

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

(No hay otras claves/valores)

Noté que el wsl predeterminado está configurado en el segundo c329c2ee-fd20-4986-873a-351737eaf399:

DefaultDistribution REG_SZ {c329c2ee-fd20-4986-873a-351737eaf399}

¿Es seguro cambiar la distribución predeterminada a "la primera" {97307d71-8998-42a4-9600-ff372b6ec1ee}para que ya no vea el mensaje de error al intentar abrirla en Windows Terminal?

Ver también: 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.

información relacionada