Windows 버전 10.0.19043.1889에서 WSL을 활성화하고 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'
홈 디렉터리의 ls 명령에 대한 Ubuntu 22.04 앱 터미널 출력
ls 명령은 홈 디렉토리 ~에서 실행되지 않습니다. Windows 드라이브 /mnt/c/에서 ls를 실행하면 문자 렌더링이 정확합니다.
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
Windows C: 드라이브에서 ls 명령에 대한 Ubuntu 22.04 앱 터미널 출력
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 App을 제거하고 WSL을 기본적으로 2로 설정한 wsl --set-default-version 2
후 Ubuntu 22.04 App을 다시 설치했습니다. 이로 인해 내 문제가 해결되었으며 현재로서는 문자 출력이 괜찮은 것 같습니다. (물론 이 과정에서 데이터를 모두 잃어버렸지만 새로 설치하는 것이기 때문에 감당할 수 있었습니다.)