Кириллица в консоли systemd’изированной Ubuntu

Алексей Федорчук

Когда-то обеспечение вывода кириллицы в Linux-консоли было не вполне тривиальной задачей. Над которой немало начинающих линуксоидов ломали головы (апстенку) и пальцы (апклаву). Потом, благодаря Серой книге Патрика Фолькердинга сотоварищи в переводе и с дополнениями, а также труду многих и многих документаторов проблемы, казалось, что это отошло от нас дальше, чем страдания первого гоминида, обрабатывающего чоппер. И каждый молодой боец-линуксоид мог осуществить кириллизацию консоли чуть ли не быстрее, чем выполнить неполную разборку АК-47. И уж точно за меньшее время, чем полную разборку винтовки имени капитана Мосина. Ну а потом нормально кириллизованная консоль стала просто непременным атрибутом любого уважающего себя дистрибутива.

Но жизнь не стоит на месте, а движется из беспросветного будущего к светлому прошлому по диалектической спирали. И массовое внедрение передовых технологий systemd’изации заставило оживить в памяти давно и, казалось бы, навсегда забытые навыки. Сколько мне ни приходилось сталкиваться со свеже-systemd’изированными дистрибутивами — она нпоминала о себе кракозябрами или квадратиками, выводимыми в ответ на безобидную команду

$ date

Правда, чаша сия почему-то миновала Debian 8 Jessie и её сестрёнку молодшую, LMDE 2 Betsy. А вот Ubuntu, что в текущей версии 15.04, что в грядущей 15.10, не смогла прикрыться от неё всеми зулусскими ассегаями. Но зато, кажется, поспособствовал нахождению общего рецепта для преодоления этой немощи. Каковой и излагается ниже.

Итак, в свежеустановленной Ubuntu указанных релизов консоль при русской локали выглядит… из уважения к читающим меня дамам я не буду говорить, как она выглядит. Но, разумеется, её можно быстро привести в пристойный вид обычной командой

# sudo dpkg-reconfigure console-setup

выбрав подходящие кодировку (они там в своей Зулусии почему-то полагают, что наша любимая — ISO-8859-15), набор символов (например, славянскую кириллицу, или просто положившись на определение оптимального чарсета), собственно шрифт (почему бы не TerminusBold?) и его матрицу (тут уж каждый решает по своему зрения, для меня это 28×14). В общем, детали процедуры описаны в материалах этой выборки.

И всё сразу становится прекрасно, но… правильно, до первой перезагруки. После которой консоль возвращается в исходное состояние — разве что вместо кракозябров будут квадратики.

Одноразово (и только на текущей виртуальной консоли) это излечивается простой командой:

# setupcon -f

Но и увековечить это решение не сложно. Достаточно зайти в каталог /lib/systemd/system/, отыскать в нём файл systemd-vconsole-setup.service и, открыв его root’ом в любом редакторе, в последней строке секции [Service] заменить

ExecStart=/bin/true

на

ExecStart=/bin/setupcon

После чего нашей консоли (точнее, всем её виртуальным терминалам) не страшны никакие происки и перезагрузки.

Кириллица в консоли systemd’изированной Ubuntu: 9 комментариев

  1. >Достаточно зайти в каталог /lib/systemd/system/, отыскать в нём файл systemd-vconsole-setup.service В процессе тестирования Ubuntu 16.04 (первая альфа) столкнулась с проблемой отображения кириллицы в консоли. При выполнении описанных в статье рекомендаций по указанному пути файл отсутствовал. Он создался пустым при попытке его редактирования. Осталось только вписать в него нужную строку — ExecStart=/bin/setupcon и сохранить. После перезагрузки системы кириллица в консоли стала отображаться правильно. Спасибо за труды!

  2. «в нём файл systemd-vconsole-setup.service»
    Файла не было, создал, добавил запись, как предыдущий комментатор — не помогло.
    А помогло добавление строчки «ExecStart=/bin/setupcon» в конец файла «console-setup.services» в том же каталоге «/lib/systemd/system/». Благодарю за помощь в решении проблемы с кириллицей в консоле ;)
    ——————
    Ubuntu Server 16.04 альфа от 18.02.2016.

  3. vita, Eronex, забавненько — а у меня в MX Linux сейчас нет ни того, ни другого файла7
    Зато есть несколько файлов console-kit-log-system-* — start, stop, restart.
    Похоже, что за консольный вывод отвечают они.
    И похоже, опять-таки, что это хозяйство меняется от версии к версии systrmd, не к ночи будь помянуть он и мать его Поттеринг.

  4. В 16.04 ubuntu-based также присутствуют эти файлы, но за правильное отображение кириллицы в консоли они не отвечают.

  5. После недавних обновлений кириллица в консоли снова отображается квадратиками и уже ни один из перечисленных советов по решению проблемы не помогает. Увы, systemd — в действии…

  6. vita, почему-то вспомнилось: «Подпольный обком действует».
    Вот только подпольный обком с врагом боролся, а systemd’изаторы — с собственными пользователями.

Добавить комментарий