
В линуксе можно встретить такое явление, что первый день недели по умолчанию - воскресенье.
Если вы не сильно интересовались бытом иностранцев, то может выглядеть дико ?
Я столкнувшись с этим первый раз - подумал: "Моя неделя начинается в понедельник, я хочу видеть у себя календарь нормального человека".
На какое-то время с этим смирился, пока один раз не пропустил важное событие, забыв об этой особенности :-)
И сегодня пришел день, когда я решил разобраться с этой проблемой.
Сразу оговорюсь, что в большинстве дистриутивов, если корректно указывать регион.
Если вкратце, то мультиязычность и мультирешиональность в линуксе построена на локалях (locales).
Посмотреть текущие настройки можно командой locale
.
В моём случае проблема на локалиen_US
Вывод команды locale

Варианта выходит два:
Сменить локаль времени на
en_GB
, с подходящим порядком дней неделиВнести изменения в локаль
en_US
Вариант 1. Меняем локаль времени LC_TIME
Вариант рабочий, но с нюансами.
Не забываем, что в этой секции файла хранятся названия дней недели, месяцев, их форматы и т.п.

В принципе отличия не критичные, даже более близкие к нашим реалиям ?
Порядок действий для изменения локали времени
Делаем следующие манипуляции, открывая файлы в любимом текстовом редакторе с привилегиями суперпользователя (sudo):

Открываем файл
/etc/locale.gen
Находим в нём строкуen_GB.UTF-8 UTF-8
и раскомментируем её, чтобы сгенерировать нужную локаль.

Перегененрируем локали командой
locale-gen
Естественно сsudo
, я же надеюсь не из под рута работаете)

И обновляем используемую локаль для времени в файле
/etc/locale.conf
, добавив строчкуLC_TIME=en_GB.UTF-8
или заменив значениеLC_TIME

Перелогиниваемся или перезагружаем машину и видим чудо! ?
Вариант 2. Модифицируем локаль en_US
Мне этот вариант понравился больше. Я не хочу ничего менять, кроме порядка дней недели, остальное всё меня всё устраивает.
Да и шага всего два, что меня дико радует ?
Порядок действий для модификации локали

Открываем в редакторе файл
/usr/share/i18n/locales/en_US
и находим конец секцииLC_TIME
по строкеEND LC_TIME
И перед ее концом ставим строчку
first_weekday 2
Вывод команды locale-gen Далее перегенерируем локали командой
locale-gen
(Да, с привелениями суперпользовтеля)Перелогиниваемся или перезагружаем машину и видим чудо! ?
Вариант 3. (Бонус)
А то скажете еще, что забыл...
Если у вас дистрибутив - можно порыться в настройках системы или календаря, там тоже может быть)