Hi, The new /etc/rc.sysinit introduced in initscripts-2010.07-1 has changed the original behavior of locale settings. The Code explains better: 369 # Flush old locale settings 370 : >| /etc/profile.d/locale.sh 371 /bin/chmod 755 /etc/profile.d/locale.sh 372 # Set user defined locale 373 [ -z "$LOCALE" ] && LOCALE="en_US" 375 echo "export LANG=$LOCALE" >>/etc/profile.d/locale.sh Now it flushes /etc/profile.d/locale.sh everytime the system boots. Usually this means setting `export LANG=en_US.UTF-8' on most computers, and to be included by shell (.bashrc or .zshrc) everytime, if the user included it at all. I.e.: source /etc/profile But for multilingual users, due to the fact that the initial console only displays ASCII, we often write the local LANG and LC_ALL setting in xinitrc, so to make an environment that uses English under console and local (multibyte) language within Xorg. With the introduction of /etc/profile.d/locale.sh, it would make a problem that cause Xorg program still using en_US when where we wanted zh_TW or zh_CN. My solution is as follows, changing some code in /etc/profile: 49 if test -d /etc/profile.d/; then 50 for profile in /etc/profile.d/*.sh; do 51 if [[ $profile == "/etc/profile.d/locale.sh" && -n $DISPLAY ]]; then 52 continue 53 fi 54 test -x $profile && . $profile 55 done 56 unset profile 57 fi -- 李彥學 (Li Ian-Xue) http://b4283.ath.cx A student.