LANG

/etc/rc.d/rc

→/etc/init.d/functions

  →/etc/profile.d/lang.sh

      ^^^^^^^^^^^^^^^^^^^^rhbg の有無により、ここの処理で設定される LANG が最終的に異なる

 

・/etc/profile.d/lang.sh 内の処理

rhgb ありだと consoletype=pty

rhgb 無しだと consoletype=vt

 

だから、以下の処理で、rhgb 無しだと LANG=en_US.UTF-8 になってしまいますよ。

 

    if [ -n "$LANG" ]; then

      case $LANG in

        *.utf8*|*.UTF-8*)

        if [ "$TERM" = "linux" ]; then

            if [ "$consoletype" = "vt" ]; then

                case $LANG in

                        ja*) LANG=en_US.UTF-8 ;;

                        ko*) LANG=en_US.UTF-8 ;;

                        si*) LANG=en_US.UTF-8 ;;

                        zh*) LANG=en_US.UTF-8 ;;

                        en_IN*) ;;

                        *_IN*) LANG=en_US.UTF-8 ;;

                esac

                [ -x /bin/unicode_start ] && /sbin/consoletype fg && /bin/unicode_start $SYSFONT $SYSFONTACM

 

 

    echo lang_04 >> /tmp/aa.log

    env | grep LANG >> /tmp/aa.log

    echo $TERM >> /tmp/aa.log

    echo $consoletype >> /tmp/aa.log

 

    if [ -n "$LANG" ]; then

      case $LANG in

        *.utf8*|*.UTF-8*)

        if [ "$TERM" = "linux" ]; then

            if [ "$consoletype" = "vt" ]; then

                case $LANG in

                        ja*) LANG=en_US.UTF-8 ;;

                        ko*) LANG=en_US.UTF-8 ;;

                        si*) LANG=en_US.UTF-8 ;;

                        zh*) LANG=en_US.UTF-8 ;;

                        en_IN*) ;;

                        *_IN*) LANG=en_US.UTF-8 ;;

                esac

                echo lang_05_01 >> /tmp/aa.log

                env | grep LANG >> /tmp/aa.log

                [ -x /bin/unicode_start ] && /sbin/consoletype fg && /bin/unicode_start $SYSFONT $SYSFONTACM

                echo lang_05_02 >> /tmp/aa.log

                env | grep LANG >> /tmp/aa.log

            fi

        fi

        ;;

        *)

        echo lang_05_03 >> /tmp/aa.log

        env | grep LANG >> /tmp/aa.log

 

 

rc_01

rc_01

111111111111111111

111111111111111111

lang.sh

//.i18n

lang_01

lang_02

lang_03

LANG=ja_JP.UTF-8

lang_04

LANG=ja_JP.UTF-8

linux

pty

lang_06

LANG=ja_JP.UTF-8

lang_07

LANG=ja_JP.UTF-8

lang_08

LANG=ja_JP.UTF-8

lang_09

LANG=ja_JP.UTF-8

222222222222222222

LANG=ja_JP.UTF-8

222222222222222222

 

 

rc_01

rc_01

111111111111111111

111111111111111111

lang.sh

//.i18n

lang_01

lang_02

lang_03

LANG=ja_JP.UTF-8

lang_04

LANG=ja_JP.UTF-8

linux

vt

lang_05_01

LANG=en_US.UTF-8

lang_05_02

LANG=en_US.UTF-8

lang_06

LANG=en_US.UTF-8

lang_07

LANG=en_US.UTF-8

lang_08

LANG=en_US.UTF-8

lang_09

LANG=en_US.UTF-8

222222222222222222

LANG=en_US.UTF-8

222222222222222222

 

 

/etc/init.d/functions

echo 111111111111111111 >> /tmp/aa.log

env | grep LANG >> /tmp/aa.log

echo 111111111111111111 >> /tmp/aa.log

 

if [ -f /etc/sysconfig/i18n -a -z "${NOLOCALE:-}" ] ; then

  . /etc/profile.d/lang.sh

fi

 

echo 222222222222222222 >> /tmp/aa.log

env | grep LANG >> /tmp/aa.log

echo 222222222222222222 >> /tmp/aa.log

 

 

/etc/rc.d/rc

 

echo rc_01 >> /tmp/aa.log

env | grep LANG >> /tmp/aa.log

echo rc_01 >> /tmp/aa.log

 

. /etc/init.d/functions

 

echo rc_02 >> /tmp/aa.log

env | grep LANG >> /tmp/aa.log

echo rc_02 >> /tmp/aa.log

 

 

        fi