Локаль при входе на рабочий стол Ubuntu 12.04
Я вошел на рабочий стол Ubuntu 12.04 через ssh, были заданы переменные env локали:env | grep LC
LC_PAPER=zh_CN.UTF-8
LC_ADDRESS=zh_CN.UTF-8
LC_MONETARY=zh_CN.UTF-8
LC_NUMERIC=zh_CN.UTF-8
LC_TELEPHONE=zh_CN.UTF-8
LC_IDENTIFICATION=zh_CN.UTF-8
LC_MEASUREMENT=zh_CN.UTF-8
LC_TIME=zh_CN.UTF-8
LC_NAME=zh_CN.UTF-8
так что мой вопрос:
где установить такой env, и почему LC_CTYPE и LC_MESSAGES НЕ установлены?
2 ответа
При использовании языковой поддержки для установки языковых и региональных форматов результирующие переменные среды записываются в ~/.pam_environment
Как вы уже узнали. Когда вы применяете всю систему, переменные записываются в /etc/default/locale
,
Причина по которой LC_MESSAGES
, LC_CTYPE
а также LC_COLLATE
не установлены явно в том, что LANG
и имя локали в LANG
наследуется этими тремя LC_*
переменные. Вы можете проверить это, запустив locale
команда вместо env | grep LC
,
Общесистемные переменные среды устанавливаются в /etc/environment
и для локалей /etc/default/locale
/etc/environment - этот файл специально предназначен для общесистемных настроек переменных среды. Это не файл сценария, а скорее состоит из выражений присваивания, по одному на строку. В частности, этот файл хранит общесистемные настройки пути.
/ etc / default / locale - Этот файл специально предназначен для настроек переменных среды общесистемного языкового стандарта (LC_*). Это не файл сценария, а скорее состоит из выражений присваивания, по одному на строку.
Для получения дополнительной информации см. https://help.ubuntu.com/community/EnvironmentVariables и https://help.ubuntu.com/community/Locale
Что касается "почему LC_CTYPE и LC_MESSAGES НЕ установлены?", Я не смог найти обсуждение, я полагаю, что вам, возможно, повезет, подав отчет об ошибке, запрос функции или, возможно, IRC. Эта часть вашего вопроса может считаться не по теме и умозрительной.