題 如何在Windows 10(WSL)中更改Linux子系統的語言?


在Windows 10中安裝Bash後,我注意到它在linux應用程序中使用瑞典語。我的Windows 10安裝是英文的。

在使用默認輸入語言更改為英語後,我嘗試重新安裝bash

lxrun /uninstall /full

lxrun /install

但它仍在Linux應用程序中使用瑞典文本,例如在納米。

那麼如何強制Linux子系統安裝英語呢?


72
2017-08-03 05:14


起源




答案:


Windows子系統Linux(WSL)安裝應自動設置Ubuntu語言環境以匹配Windows安裝的語言環境。您可以使用shell手動更改Ubuntu語言環境。

  1. 在bash.exe中運行此命令將語言更改為美國英語:

    sudo update-locale LANG=en_US.UTF8
    

    如果你得到了 sudo: unable to resolve host 運行時出錯 sudo

    • 驗證您是否設置了主機名(使用 hostname 命令)。

      • 如果未設置,請將其添加到 /etc/hostname 文件。
      • 確保這件事 /etc/hostname 包含 只要 主機名。

      使用編輯文件 sudoedit /etc/hostname (假設你可以讓它工作);看到 這個

    • 確保你的 /etc/hosts 文件包含條目 為您的實際主機名(拼寫 究竟 相同)和/或 localhost。 再次,使用 sudoedit

    看到 運行sudo時出現錯誤消息:無法解析主機 欲獲得更多信息。

  2. 重新啟動 bash.exe 使更改生效。
  3. 如果這不能解決問題,請嘗試重新啟動服務:

    sc stop  lxssmanager
    sc start lxssmanager
    

如果你想進一步了解WSL中的bash, 您可以 閱讀Microsoft的FAQ


114
2017-08-03 05:24



似乎還需要重新啟動服務才能使更改生效:“sc stop lxssmanager”,“sc start lxssmanager”。運行update-locale cmd時遇到錯誤:“sudo:無法解析主機...”。 - User0
“WSL安裝將自動檢測Ubuntu語言環境以匹配Windows安裝的語言環境” 我寧可說“誤檢”。我有芬蘭語,除了鍵盤佈局和日期格式外,我都有英文設置。這在我的書中並不是真正的芬蘭語區域。 - Sami Kuhmonen
我收到了錯誤 sudo: unable to resolve host 在嘗試運行該命令時。當我沒有它時,它工作 sudo。 - sgtfrankieboy
@sgtfrankieboy沒有堅持不會 sudo。看到 這個問題 及其答案。 - cat
LANG = en_US.UTF-8,錯過了' - ' - eee


而不是重新安裝bash,將以下行添加到該文件 ~/.bashrc

LANG=c

然後你會得到英語bash。


1
2017-09-16 08:46





本手冊 描述不同的方式。因為在這種情況下我們使用的是Ubuntu,所以選擇相應的選項。摘要:

  • 僅更改當前會話的區域設置: LANG=en_US.UTF-8
  • 永久更改當前用戶的區域設置:添加 LANG=en_US.UTF-8 至 ~/.bashrc
  • 更改默認系統區域設置:使用 LANG=en_US.UTF-8 在
    /etc/default/locale

根據 locale -a 默認情況下,我的系統中提供以下英語語言環境: CC.UTF-8en_US.utf8


1
2018-02-09 12:56