У меня свежая установка Ubuntu 12.04 в качестве виртуального гостя openVZ. Определенная локаль для LC_ * в базовой настройке - POSIX.
Я хочу изменить это на en_US.UTF-8. Итак, я установил language_pack_en_base и language_pack_en, запустил dpkg-reconfigure locales и добавил следующие строки в / etc / environment и / etc / default / locale:
LANG=en_US.UTF-8
LC_CTYPE=C
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
Но после перезапуска виртуальной машины вывод локали:
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
Что еще я могу сделать, чтобы установить en_US.UTF-8 в качестве локали для этого сервера?
Есть файл /etc/default/locale
для постоянной установки системных локалей. В качестве альтернативы вы можете использовать update-locale
вместо прямого редактирования этого файла.
Подробнее о настройках локали можно найти на Помощь сообщества Ubuntu.
В моем случае при входе в систему с помощью ssh ни одна из обычных настроек локали по умолчанию или переменных среды не работала. Это произошло потому, что я отключил управление сеансом PAM в конфигурации sshd.
Убедитесь, что вы установили
UsePAM yes
в твоем /etc/ssh/sshd_config
файл