Ubuntu 22.04 WSL 2 有渲染字元問題

Ubuntu 22.04 WSL 2 有渲染字元問題

我在 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'

Ubuntu 22.04 主目錄下 ls 指令的應用程式終端機輸出

不是在主目錄〜執行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

Ubuntu 22.04 應用程式在 Windows C: 磁碟機上的 ls 命令終端機輸出

我有點確定,使用 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 應用程式。這解決了我的問題,目前字元輸出似乎沒問題。 (當然,在此過程中我丟失了所有數據,這是我可以承受的,因為這是全新安裝。)

相關內容