Вы пытались применить рецепт для Ubuntu под Debian. Это обычно работает, но в данном конкретном случае это не так.
Ubuntu является производной от Debian и не сильно отличается от установщика и графического интерфейса. Команда locale-gen
является одной из тех немногих других вещей, которые она меняет. Я не знаю почему.
В Debian locale-gen
команда не принимает аргументов и создает заново скомпилированные определения локали в соответствии с настроенным списком локалей. Чтобы изменить выбор локалей, которые вы хотите использовать, отредактируйте файл и /etc/locale.gen
выполните locale-gen
команду. В качестве альтернативы, запустите dpkg-reconfigure locales
от имени пользователя root, выберите дополнительные локали, которые вы хотите (и отмените выбор тех, которые вам не нужны), и нажмите OK.
В Ubuntu, если вы запускаете locale-gen
команду без аргументов, она восстанавливает скомпилированные определения локали в соответствии с настроенным списком локалей. Но если вы передадите некоторые аргументы, они будут добавлены в список и генерируются немедленно. Список языков хранится в /var/lib/locales/supported.d/local
. Запуск dpkg-reconfigure locales
просто восстанавливает скомпилированные локали, не давая вам возможности изменить выбор.
В итоге, чтобы добавить en_US.UTF-8
в список доступных языков:
- Debian, интерактивный:
dpkg-reconfigure locales
- Debian, автоматизированный:
sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen && locale-gen
- Ubuntu, автоматизированный:
locale-gen en_US.UTF-8
dpkg-reconfigure
? Я получил интерактивный интерфейс, но при выборе элемента с помощью ввода он не был установлен.