Как изменить язык подсистемы Linux в Windows 10 (WSL)?


78

После установки Bash в Windows 10 я заметил, что он использует шведский в приложениях Linux. Моя установка Windows 10 на английском языке.

Я попытался переустановить bash после изменения языка ввода по умолчанию на английский, используя

lxrun /uninstall /full

lxrun /install

Но он все еще использует шведский текст в приложениях Linux, например, в Nano.

Так как же заставить принудительно установить подсистему Linux с английским языком?

Ответы:


119

Установка Windows Subsystem for Linux (WSL) должна автоматически установить языковой стандарт Ubuntu в соответствии с языковым стандартом установки Windows. Вы можете изменить локаль 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

Если вы хотите узнать больше о bash в WSL, вы можете прочитать FAQ от Microsoft .


Кажется, что перезапуск службы также необходим для вступления изменений в силу: "sc stop lxssmanager", "sc start lxssmanager". Я получил сообщение об ошибке при запуске команды update-locale cmd: "sudo: невозможно разрешить хост ...".
Пользователь0

3
«Установка WSL автоматически определяет локаль Ubuntu в соответствии с локалью вашей установки Windows», я бы сказал, «неправильно определяет». Я получил финский, у меня все настройки на английском, кроме раскладки клавиатуры и формата даты. Это не совсем финский язык в моей книге.
Сами Кухмонен

Я получил ошибку sudo: unable to resolve hostпри попытке выполнить эту команду. Это сработало, когда я запустил его без sudo.
sgtfrankieboy

@sgtfrankieboy Без этого не будет sudo. Смотрите этот вопрос и его ответы.
кошка

2
LANG = en_US.UTF-8, отсутствует '-'
эээ

1

Вместо переустановки bash добавьте в файл следующую строку ~/.bashrc

LANG=c

Тогда вы получите английский язык Bash.


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" на вашу локаль, а затем используйте команду для переключения локали.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.