Большой Воронежский Форум
» UNIX и дериваты>Mandrake 9.2 Ломается консольный шрифт при завершении работы ...
Alcatras 17:12 29.02.2004
Добрый день! Я пользуюсь оригинальным дистрибутивом Mandrake 9.2. При завершении работы системы, все отображаемые кирилическим шрифтом сообщения "остановка сервиса ..." не читабельны. Т.е. русские символы не выводятся в правильной кодировке. Это происходит ТОЛЬКО ЕСЛИ юзер НЕ ЛОГИНИЛСЯ предварительно в консоли (например автостарт Х`ов через INIT 5 не является таким входом). Если логин в консоли все же имел место, не важно под каким пользователем, не важно работали потом иксы или нет, то кирилические сообщения при остановке системы ОТОБРАЖАЮТСЯ НОРМАЛЬНО. Я себе голову сломал, думая в чем дело . Может кто наткнулся на решение!? [Ответ]
Den 21:04 29.02.2004
/etc/sysconfig/i18n? [Ответ]
zic 01:04 01.03.2004
в этом случае просто не происходит активизация карты соответствия (mapscreen)

ЗЫЖ в mandrake лучше вообще отказаться от каких либо системных сообщений на русском , поскольку i18n там в принципе кривая [Ответ]
Alcatras 09:42 01.03.2004
zic , звучит логично.
Покопаюсь в этом направление. Хотя есть определенные сомнения, так как в остальном при работе консоль ведет себя корректно с кириллицей.
Загрузка идет с правильными кириллическими сообщениями. Если ставлю в rc.local последней строкой reboot, останавливается с правильными сообщениями. Что-то происходит после этапа стартовых скрипов до момента получения пользователем shell [Ответ]
Alcatras 21:28 01.03.2004
Вобщем-то разобрался. Может кто-нибудь прочтет и спасибо скажет :-)
Mandrake 9.2 в целом нормально руссифицированный продукт. Рекомендую. При старте системы активация mapscreen честно проходит, т.е. выдается необходимая ескейп-последовательность на виртуальную консоль. Пока загрузка не доходит до старта терминалов mingetty. После них mapscreen слетает. Поэтому в /etc/inittab ПОСЛЕ строчек запуска mingetty необходимо повторно отправить ескейп-последовательность на виртуальную консоль командой 20:2354:wait:/bin/echo -en '\033(K' > /dev/vc/1
Это решает проблему останова при автостарте иксов. При работе в терминале, после команды logout, произойдет respawn, т.е. перезапуск. И mapscreen снова слетит. Что бы это обойти, можно добавить команду echo -en '\033(K' > /dev/vc/1 в первый скрипт в каждом из каталогов /etc/rc.d/rc0.d/ и /etc/rc.d/rc6.d/
[Ответ]
zic 22:45 01.03.2004
Alcatras
Нечто подобное я и предпологал.
Добавлю что эскейп последователность лучше посылать на все запущенные терминалы ,а не только на первый
например так :

for i in 1 2 3 4 5 6; do
echo -ne '\033(K' > /dev/vc/$i
done

для стандартного случая с шестью терминалами [Ответ]
Viaprog 00:26 29.03.2004
for i in `awk 'BEGIN{FS=":" \mingetty\{print $1}}' < /etc/inittab`; do
echo -ne '\033(K' > /dev/vc/$i
done

универсальнее

[Ответ]
Вверх