Я включил WSL на моем Windows Version 10.0.19043.1889, установил Ubuntu Ubuntu 22.04.1 LTS. После установки WSL был настроен на версию 1:
wls -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 1
Затем я конвертировал Ubuntu в WSL версии 2:
wsl --set-default-version 2
wsl --shutdown
wsl --set-version Ubuntu-22.04 2
После конвертации в версию 2 приложение Ubuntu 22.04 не отображает персонажа должным образом:
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 для команды ls в домашнем каталоге
Команда ls не выполняется в домашнем каталоге ~. Если выполнить ls на диске Windows /mnt/c/, то рендеринг символов будет правильным:
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 для команды ls на диске C: в Windows
Я почти уверен, что в Ubuntu 22.04 и WSL версии 1 отображение символов было корректным.
Обратите внимание, что язык Windows у меня установлен на японском языке, но локаль по умолчанию — английский, если я правильно понимаю.
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=
Есть ли у кого-нибудь идеи, связана ли неправильная отрисовка символов с преобразованием в WSL 2 или это вопрос настроек локали?
Заранее благодарю за любую помощь.
решение1
Я удалил приложение Ubuntu 22.04, установил WSL по умолчанию на 2 wsl --set-default-version 2
и переустановил приложение Ubuntu 22.04. Это решило мою проблему, и вывод символов, похоже, на данный момент в порядке. (Конечно, я потерял все свои данные во время этого процесса, что я мог себе позволить, поскольку это была новая установка.)