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

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

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

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

lxrun /uninstall /full

lxrun /install

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

那么我怎样才能强制 Linux 子系统以英文安装?

答案1

Windows Subsystem for 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 的更多信息,你可以阅读微软的常见问题解答

答案2

本手册描述了不同的方法。由于本例中我们使用 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-8en_US.utf8

答案3

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

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

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

答案4

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

我的解决方法是Lri 的解决方案

$ sudo apt install gcal
$ alias cal='gcal --starting-day=1'

相关内容