Алексей Федорчук
Когда-то обеспечение вывода кириллицы в 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
После чего нашей консоли (точнее, всем её виртуальным терминалам) не страшны никакие происки и перезагрузки.
Премного благодарен. Поставил закладочку.
>Достаточно зайти в каталог /lib/systemd/system/, отыскать в нём файл systemd-vconsole-setup.service В процессе тестирования Ubuntu 16.04 (первая альфа) столкнулась с проблемой отображения кириллицы в консоли. При выполнении описанных в статье рекомендаций по указанному пути файл отсутствовал. Он создался пустым при попытке его редактирования. Осталось только вписать в него нужную строку — ExecStart=/bin/setupcon и сохранить. После перезагрузки системы кириллица в консоли стала отображаться правильно. Спасибо за труды!
Супер, спасибо.
«в нём файл systemd-vconsole-setup.service»
Файла не было, создал, добавил запись, как предыдущий комментатор — не помогло.
А помогло добавление строчки «ExecStart=/bin/setupcon» в конец файла «console-setup.services» в том же каталоге «/lib/systemd/system/». Благодарю за помощь в решении проблемы с кириллицей в консоле ;)
——————
Ubuntu Server 16.04 альфа от 18.02.2016.
vita, Eronex, забавненько — а у меня в MX Linux сейчас нет ни того, ни другого файла7
Зато есть несколько файлов console-kit-log-system-* — start, stop, restart.
Похоже, что за консольный вывод отвечают они.
И похоже, опять-таки, что это хозяйство меняется от версии к версии systrmd, не к ночи будь помянуть он и мать его Поттеринг.
В 16.04 ubuntu-based также присутствуют эти файлы, но за правильное отображение кириллицы в консоли они не отвечают.
Eronex, Ваш опыт пригодился. Пребольшое спасибо!
После недавних обновлений кириллица в консоли снова отображается квадратиками и уже ни один из перечисленных советов по решению проблемы не помогает. Увы, systemd — в действии…
vita, почему-то вспомнилось: «Подпольный обком действует».
Вот только подпольный обком с врагом боролся, а systemd’изаторы — с собственными пользователями.