Як змінити мову підсистеми Linux у Windows 10 (WSL)?


78

Після установки Bash в Windows 10 я зазначив, що в програмах linux використовується шведська мова. Моя установка Windows 10 англійською мовою.

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

lxrun /uninstall /full

lxrun /install

Але він все ще використовує шведські тексти в програмах linux, наприклад, в нано.

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

Відповіді:


119

Установка підсистеми Windows для 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

Якщо ви хочете дізнатися більше про баш в WSL, ви можете прочитати поширені запитання від Microsoft .


Здається, що для того, щоб зміни набули чинності, потрібен також перезапуск послуги: "sc зупинити lxssmanager", "sc start lxssmanager". У мене з’явилася помилка під час запуску локального оновлення cmd: "sudo: не вдається вирішити хост ...".
Користувач0

3
"Установка WSL автоматично виявить локаль Ubuntu, щоб він відповідав локалі вашої інсталяції Windows", я б сказала "неправильні виявлення". У мене є фінська мова, у мене є всі налаштування англійською мовою, крім розкладки клавіатури та формату дати. Це насправді не фінська мова в моїй книзі.
Самі Кухмонен

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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.