如何在Windows 10(WSL)中更改Linux子系统的语言?


78

在Windows 10中安装Bash后,我注意到它在Linux应用程序中使用瑞典语。我的Windows 10安装是英文的。

我尝试使用将默认输入语言更改为英语后重新安装bash

lxrun /uninstall /full

lxrun /install

但是它仍然在Linux应用程序中使用瑞典语文本,例如在nano中。

那么如何强制Linux子系统使用英语安装?

Answers:


119

用于Linux的Windows子系统(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


似乎还需要重新启动服务才能使更改生效:“ sc stop lxssmanager”,“ sc start lxssmanager”。运行update-locale cmd时出现错误:“ sudo:无法解析主机...”。
User0

3
“ WSL安装将自动检测Ubuntu区域设置以匹配Windows安装的区域。”我宁愿说“ misdetects”。我有芬兰语,除了键盘布局和日期格式外,所有其他设置都用英语进行。在我的书中,这实际上不是芬兰的语言环境。
Sami Kuhmonen '16

sudo: unable to resolve host尝试运行该命令时出现错误。当我不带它运行时它就起作用了sudo
sgtfrankieboy

@sgtfrankieboy没有它就不会持续sudo。请参阅此问题及其答案。

2
LANG =的en_US.UTF-8,缺少' - '
EEE

1

代替重新安装bash,将以下行添加到文件中 ~/.bashrc

LANG=c

然后,您将获得英语交流。


1

本手册介绍了不同的方法。由于在这种情况下,我们使用的是Ubuntu,因此请选择相应的选项。摘要:

  • 仅更改当前会话的语言环境: LANG=en_US.UTF-8
  • 永久更改当前用户的语言环境:添加LANG=en_US.UTF-8~/.bashrc
  • 更改默认的系统区域设置:使用LANG=en_US.UTF-8
    /etc/default/locale

根据locale -a以下默认情况C,我的系统中默认提供以下英语语言环境:C.UTF-8,,en_US.utf8


0

如果尚未安装该语言,则需要使用:

    sudo apt-get install language-pack-en language-pack-en-base manpages

将“ en”更改为您的语言环境,然后使用命令切换语言环境。


0

这些都不对我有用。在WSL Build 16299上运行Ubuntu18.04.2 LTS(Bionic Beaver)。

对我来说,解决方法来自Lri的解决方案

$ sudo apt install gcal
$ alias cal='gcal --starting-day=1'
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.