Локаль при входе на рабочий стол 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. Эта часть вашего вопроса может считаться не по теме и умозрительной.

Другие вопросы по тегам