Как заметил один мой знакомый: русификация консоли слетает в Ubuntu через версию. Видимо 10.04 она тоже слетала, а теперь пришла очередь 11.04. Пока возился с настройками после обновления, ненадолго застрял в консоли и обнаружил, что вместо русских букв там теперь квадратики. Выяснение причин вскрыло абсолютно раздолбайское отношение разработчиков к консоли. Я конечно понимаю, что она нужна абсолютному меньшинству пользователей. И все же это место, где мы обычно оказываемся, когда все остальное уже не работает.
В общем, если вас коснулась эта проблема и вам, надо срочно привести консоль в рабочее состояние предлагаю делать следующее:
/etc/initramfs-tools/initramfs.conf
необходимо добавить параметр FRAMEBUFFER=Y
Корень проблем видимо в непрекращающейся глобальной переделке процесса начальной загрузки. До Natty за настройку шрифтов в консоли отвечал скрипт /etc/init.d/console-setup.sh
, но в Natty его наконец переделали в upstart job /etc/init/console-setup.conf
. Однако, по дороге из него исчезли все упоминания о настройке шрифтов в консоли. Там нет ни одного вызова setupcon
. Настраивать шрифты в консоли теперь просто некому.
Кстати, тупо добавлять вызов setupcon
в console-setup.conf
все равно не выход (#668812). В результае настраивается только одна консоль, а надо все. Соответствующим скриптом видимо никто не озадачивался. Патч по идее будет тривиальный.
В принципе, решение убрать setupcon
из init было, возможно, верным. Консоль может быть настроена раньше, еще до запуска upstart. За этот этап отвечает initramfs-tools, который использует скрипты console-setup. Однако, разработку этого пакета шарахает из стороны в сторону и похоже давно. Баги плодятся, но не похоже, чтобы их кто-то решал исправлял. Сейчас багов около 400.
Где-то в районе версии 0.94 (Maverik), настройку консоли и framebuffer из initramfs выкинули, а потом в версии 0.98 (Natty) включили обратно, но по-умолчанию отключили, и, докучи, забыли задокументировать произведенные изменения (#789141).
Так что в результате, настройка шрифтов консоли оказалась отключеной и все языки использующие не английский набор символов, теперь отображаются, как бог на душу положит, вплоть до ручного запуска setupcon.
Автор: abone28 на 15:07
Действия:
18 коммент.:
Мак Сим комментирует...
"Я конечно понимаю, что она нужна абсолютному меньшинству пользователей."
Ну в Ubuntu может быть. А если у нас Ubuntu Server? Где в наличии только консоль :). А проблема там ровна та же.
Спасибо за заметку! Вылетело из головы название пакета который надо пересобрать... вы помогли.
Анонимный комментирует...
не сработало
Анонимный комментирует...
интересный факт! поставил на vortualbox ubuntu 11.04. русские папки отображаются квадратиками. по запрос -locale -a нет ни слова о RU. выключаем машину, в настройках ставим 55мегабайт ОЗУ, включаем. ловим глюки (так и надо)... затем выключаем машину, возвращаем обьем ОЗУ (64+ метра) и до следующей перезагрузке все папки и файлы с русским именем отлично отображаются. проверенно на 4 разных компах с разными версиями базовой ОС, но все на виртуалбоксе. т.е. не меняя никаких настроек, после искусственных глюков на 1 сеанс все становится впорядке. кто сможет обьяснить - буду благодарен, art-kom07@mail.ru
abone28 комментирует...
Для тех у кого не сработало. Если не трудно, проверьте вот что. В каталоге /boot должен быть образ initramfs для вашего ядра, например initrd.img-2.6.38-8-generic-pae. Все описанные в статье действия имеют целью добавление в init-top скриптов отвечающих за настройку консоли.
В моем случае:
cat /boot/initrd.img-2.6.38-8-generic-pae | gunzip -c - | cpio -t | grep init-top
scripts/init-top
scripts/init-top/bootchart
scripts/init-top/ORDER
scripts/init-top/console_setup <--- нам нужен этот
scripts/init-top/plymouth
scripts/init-top/blacklist
scripts/init-top/framebuffer
scripts/init-top/all_generic_ide
scripts/init-top/brltty
scripts/init-top/udev
scripts/init-top/keymap
Если на вашей системе скрипта console_setup нет, работать не будет. Надо разбираться куда скрипт делся.
Другое дело. если скрипт есть, но не работает. Тоже надо разбираться, я могу предположить, что дело вдрайвере framebuffer. У меня на машине с видео-картой ATI пришлось делать то, что описано в статье. На другой машине с Nvidia файлы появились сами, каким-то
магическим образом. Вполне допускаю, что где-то и наличие setupcon не поможет.
Нужны подробности.
axel_verse комментирует...
Последним действием должно быть выполнение
sudo update-initramfs -u
В противном случае, система не добавит в initrd информацию об активированном framebuffer.
abone28 комментирует...
Кстати да. Мой косяк. Спасибо за обнаруженную ошибку. Пойду поправлю.
Анонимный комментирует...
Спасибо!
Сергей комментирует...
Уже есть обновление в репозитарии. После инсталяции сервера - сразуже установите обновления - и будет Вам счастье.
Сергей Панарин комментирует...
Поспешил :-(
После перезагрузки... опять "грабли".
Сразу же сделал рестарт /etc/init.d/console-cyrillic
- кириллица появилась.
Рыгор комментирует...
(я не специалист в этом, поэтому сделал всё как обезъяна)
После перезагрузки русский пропал
dpkg-reconfigure console-setup - отвечал что предлагали
dpkg-reconfigure keyboard-configuration - тоже самое
initrd.img-2.6.38-8-generic-pae - подобных файлов два, initrd.img-2.6.38-10-generic-pae - после настройки дата модификации меняется именно у этого
Система под vmware server 1.0.10
Рыгор комментирует...
помогло http://m0hn.blogspot.com/2011/05/ubuntu-server-1104.html
обновлялся до изменений из репозитария
apt-get update
apt-get updgrade
apt-get dist-upgrade
Slevin комментирует...
Автор какой-то извращенный метод тут изобрел.
Который между прочем у половины не работает, у второй половины работает через анус.
Вот рабочий и гораздо более простой метод:
После установки русской версии Ubuntu-Server 11.04 появилась проблема. Все что написано на кириллице отображалось в виде квадратиков. Правки вносимые в файл /etc/default/console-setup, отвечающий за консоль не приводили к результатам. Было найдено решение:
Устанавливаем пакет console-cyrillic
sudo apt-get install console-cyrillic
Добавляем в /etc/rc.local строку:
/etc/init.d/console-cyrillic start
Далее перезагружаем:
sudo reboot
Готово!
Анонимный комментирует...
Slevin, как раз твое решение - через анус.
xoy комментирует...
У меня заработало как в статье, но стоит добавить заметку, что к времени настройки фреймбуфер уже должен работать.
например в файле /etc/default/grub стоять параметр vga=0x317 и выполнена перегенерация скриптов граб sudo update-grub.
У меня на виртуалбоксе вреймбуфер не завелся из коробки.
Автору большое спасибо!!! Самое ценное в заметке разъяснения!!! А то тупые манулы сделать так, а потом не работает уже достали.
xoy комментирует...
Посмотрел на свой пост и понял, что стоит добавить
приведенный пример с разрешением соответствует 1024x768X24bit. Остальные разрешения и полную инструкцию смотреть здесь http://www.truediamon.ru/content/vkljuchenie-framebuffer-v-ubuntu
Анонимный комментирует...
Работает! Спс! =)
Анонимный комментирует...
Ubuntu 11.10 Server - работает.
Автору большое спасибо. Статью в закладки.
Анонимный комментирует...
Спасибо.
Но перенастройку пакетов проводить не объязательно.