歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> RedHat 9.0控制台顯示英文的具體步驟

RedHat 9.0控制台顯示英文的具體步驟

日期:2017/2/28 17:52:07   编辑:Linux教程

RedHat 9.0控制台(又叫字符界面、console)默認情況下回顯亂碼,例如輸入mc或chmod之類的命令,輸出的總是亂碼,因為它企圖顯示中文,但是又沒有裝zhcon,顯示結果就是這樣。

解決這個問題有兩種方法,第一是直接安裝zhcon,第二在~/.bashrc裡加入export LANG=en_US的字樣。這兩種方法有缺點。zhcon是外掛,並不能隨系統啟動一起運行,而且顯示中文字體偏大,export LANG的結果就是在X的一般terminal裡顯示不了中文(據說是這樣的。剛才驗證了,在~/.bashrc裡加入export LANGUAGE=en,好樣,進入桌面後,界面全變成英文的了!估計提供這種方法的人還不知道~/.i18n的用途)。

在/etc/sysconfig/i18n裡查看,既然有了CONSOLE_NOT_LOCALIZED=yes這樣一條定義,為什麼console還是試圖顯示中文呢?根據mandrake的經驗比較兩種發行版在系統語言上也就是/etc/profile.d/lang.sh的規定,發現了問題。mandrake的10lang.sh裡有這麼幾行:

if [ -n "$DISPLAY" ]; then
[ "$X11_NOT_LOCALIZED" = "yes" ] && LANGUAGE=C
elif [ -z "$DESKTOP" ]; then
[ "$CONSOLE_NOT_LOCALIZED" = "yes" ] && LANGUAGE=C
fi
[ -n "$LANGUAGE" ] && export LANGUAGE

不懂腳本和語言,不過有一點英文基礎,猜得出這其中的意思:如果定義了X11_NOT_LOCALIZED" = "yes",那麼display的本地語言化就會失效,如果定義了CONSOLE_NOT_LOCALIZED" = "yes" ,那麼desktop(?)的本地語言化就會失效。也就是說,沒有這麼幾行,/etc/sysconfig/i18n或~/.i18n的CONSOLE_NOT_LOCALIZED=yes定義就不起作用。依樣畫蘆,在/etc/profile.d/lang.sh補上這幾行試試,果然,console只顯示英文,X環境是中文。

Copyright © Linux教程網 All Rights Reserved