Habilitei o WSL no meu Windows versão 10.0.19043.1889, instalei o Ubuntu Ubuntu 22.04.1 LTS. Após a instalação, o WSL foi configurado para a versão 1:
wls -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 1
Então, converti o Ubuntu para WSL versão 2:
wsl --set-default-version 2
wsl --shutdown
wsl --set-version Ubuntu-22.04 2
Após a conversão para a versão 2, o aplicativo Ubuntu 22.04 não renderiza o caractere corretamente:
gstef@AHERDSKGSTEF01:~$ ls
''$'\001\020''3@pu'$'\001''@8'$'\r''@'$'\036\035\006\004''@@@�'$'\002''�'$'\002\b\003\004\030\003\030\003\030\003\034\034\001\001\004''�'$'\037''�'$'\037\020\001\005'
Saída do terminal do aplicativo Ubuntu 22.04 para o comando ls no diretório inicial
Nem o comando ls é executado no diretório inicial ~. Se executar ls em uma unidade do Windows /mnt/c/ então a renderização de caracteres está correta:
gstef@AHERDSKGSTEF01:/mnt/c$ ls
ls: cannot access 'DumpStack.log.tmp': Permission denied
ls: cannot access 'hiberfil.sys': Permission denied
ls: cannot access 'pagefile.sys': Permission denied
ls: cannot access 'swapfile.sys': Permission denied
'$GetCurrent' DumpStack.log.tmp 'Program Files' SWSetup WINDOWS
'$RECYCLE.BIN' Intel 'Program Files (x86)' SYSTAG.BIN bootTel.dat
Saída do terminal do aplicativo Ubuntu 22.04 para o comando ls no Windows C: drive
Tenho certeza de que com o Ubuntu 22.04 e WSL versão 1, a renderização dos caracteres estava correta.
Observe que meu idioma do Windows está definido como japonês, mas a localidade é o inglês padrão, se bem entendi
gstef@AHERDSKGSTEF01:~$ locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=
Alguém tem uma ideia, se a renderização errada de caracteres está relacionada à conversão para WSL 2 ou se é uma questão de configurações de localidade?
Agradecemos antecipadamente por qualquer ajuda.
Responder1
Removi o aplicativo Ubuntu 22.04, configurei WSL por padrão para 2 wsl --set-default-version 2
e reinstalei o aplicativo Ubuntu 22.04. Isso resolveu meu problema e a saída de caracteres parece estar ok por enquanto. (É claro que perdi todos os meus dados durante esse processo, o que pude pagar, porque era uma instalação nova.)