In some locales you need to explicitly switch console to locale 
encoding. Currently it is done in /etc/profile.d/lang.sh:

     if [ -n "$SYSFONTACM" ]; then
         case $SYSFONTACM in
             iso01*|iso02*|iso15*|koi*|latin2-ucw*)
                 if [ "$TERM" = "linux" -a "`/sbin/consoletype`" = "vt" 
]; then
                         echo -n -e '\033(K' 2>/dev/null > /proc/$$/fd/0
                 fi
                 ;;
         esac
     fi

The problem is, this file is sourced only on login. It means, that if 
nobody has ever logged in on console (as is the case with GUI logon), 
shutdown messages are unreadable. Moreover, it applies to every tty, so 
even if you have logged in on tty2 but were on tty1 when shutdwon was 
started messages are still unreadable.

I suggest ripping the above commands (including sourcing of 
/etc/sysconfig/i18n of course) into seperate file and executing it out 
of inittab before entering main runlevel, like

lf1:2345:once:/etc/rc.d/rc.sysfont < /dev/tty1 > /dev/tty1 2>&1
lf2:2345:once:/etc/rc.d/rc.sysfont < /dev/tty1 > /dev/tty2 2>&1
...

just before mingetty. Once is actually enough (for all I can tell) as 
long as somebody has not reset tty back. Unfortunately, mcc is known to 
do it :-(

-andrej

Reply via email to