Ich habe WSL auf meiner Windows-Version 10.0.19043.1889 aktiviert, Ubuntu Ubuntu 22.04.1 LTS installiert. Nach der Installation war WSL auf Version 1 eingestellt:
wls -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 1
Dann habe ich Ubuntu auf WSL Version 2 konvertiert:
wsl --set-default-version 2
wsl --shutdown
wsl --set-version Ubuntu-22.04 2
Nach der Konvertierung auf Version 2 rendert die Ubuntu 22.04-App das Zeichen nicht richtig:
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'
Ubuntu 22.04 App-Terminalausgabe für den ls-Befehl im Home-Verzeichnis
Der Befehl ls wird nicht im Home-Verzeichnis ~ ausgeführt. Wenn ls auf einem Windows-Laufwerk /mnt/c/ ausgeführt wird, ist die Zeichendarstellung korrekt:
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
Ubuntu 22.04 App-Terminalausgabe für den ls-Befehl unter Windows C:-Laufwerk
Ich bin ziemlich sicher, dass mit Ubuntu 22.04 und WSL Version 1 die Darstellung der Zeichen korrekt war.
Beachten Sie, dass meine Windows-Sprache auf Japanisch eingestellt ist, aber das Gebietsschema standardmäßig auf Englisch lautet, wenn ich das richtig verstehe
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=
Hat jemand eine Idee, ob die falsche Zeichendarstellung mit der Konvertierung in WSL 2 zusammenhängt oder ob es eine Frage der Gebietsschemaeinstellungen ist?
Vielen Dank im Voraus für jede Hilfe.
Antwort1
Ich habe die Ubuntu 22.04 App entfernt, WSL standardmäßig auf 2 gesetzt wsl --set-default-version 2
und die Ubuntu 22.04 App neu installiert. Dies hat mein Problem gelöst und die Zeichenausgabe scheint vorerst in Ordnung zu sein. (Natürlich habe ich während dieses Vorgangs alle meine Daten verloren, was ich verschmerzen konnte, da es eine Neuinstallation war.)