Linux Mint и Русская локаль

Меняем формат времени с 12-ти часового на 24-х часовой в Linux Mint 17.3 Cinnamon.

Имеем:

  • ОС Linux Mint 17.3 Cinnamon;
  • язык системы English, United States UTF-8;
  • регион Russian, Russia UTF-8;
  • в настройках Date & Time опция Use 24h clock установлена в положение On.

Проблема - в прикладных приложениях (Mozilla Thunderbird, Telegram время всё равно указано в 12-ти часовом формате.

Будем решать проблему.

Сперва надо проверить настойки локали командой:

locale

вывод показывает что-то в этом виде:

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=“en_US.UTF-8”;
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE=“en_US.UTF-8”;
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES=“en_US.UTF-8”;
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=

стоит обратить на значение LC_TIME=en_US.UTF-8,  Это указывает, что для отображения времени используется локаль en_US, в которой используется 12-ти часовой формат.

Смотрим содержимое файла /etc/default/locale, которое имеет вид

LANG=“en_US.UTF-8”;
LC_NUMERIC=“ru_RU.UTF-8”;
LC_MONETARY=“ru_RU.UTF-8”;
LC_PAPER=“ru_RU.UTF-8”;
LC_NAME=“ru_RU.UTF-8”;
LC_ADDRESS=“ru_RU.UTF-8”;
LC_TELEPHONE=“ru_RU.UTF-8”;
LC_MEASUREMENT=“ru_RU.UTF-8”;
LC_IDENTIFICATION=“ru_RU.UTF-8”;

Дописываем в конц файла следующую строку:

LC_TIME=“ru_RU.UTF-8”;

Затем делаем выход из сеанса пользователя.

Если команда locale всё равно показывает LC_TIME="en_US.UTF-8";, значит в настройках пользователя происходит переопределение этих параметров. Для того, что бы это исправить, необходимо отредактировать файл ~/.pam_environment** и выставить значение "ru_RU.UTF-8" для переменной LC_TIME. Что бы применить настройки, необходимо завершить сеанс пользователя.