萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> RedHat 6.2 中文顯示與輸入的設置

RedHat 6.2 中文顯示與輸入的設置

class="22603"> ([email protected]);2000/4;

本文將介紹在;RedHat;6.2;中,設置中文顯示和輸入的方法。感謝網友;Rigel、於明儉老師等給予的幫助。特別感謝於
老師開發了;Chinput;中文輸入服務器軟件,使在;Linux;下可以方便的使用中文。;

存在於;RedHat;6.2;中的;XFree86-3.3.6;視窗系統字體解釋器freetype對中文TrueType字體的解釋效果不太好,但在
XFree86-4.0;中新增的;xtt;組件會得到更好的視覺效果。;

由於我對;Linux;了解尚淺,錯誤難免,請大家能及時指出。並希望大家能提供更多的中文化軟件的方法與技巧。;

升級到;RedHat;6.2;

升級到新的版本一般是通過獲得一張新版CD,重新安裝時選擇升級完成的。但我個人則是從網上下載到部分更新的軟件包,
自行升級的。如果你也是使用這種方法,則有些事情需注意,否則,可以忽略本節。;

升級可按照:系統核心、基本C函數庫、庫連接工具、X視窗系統、X高級控件庫、桌面系統的順序進行。當需要編譯軟件時,
升級相關編譯程序和庫開發包。;

在;XFree86;的更新中,使用;xfs;的用戶需要注意:當你升級;XFree86-xfs;
後,它並不使用新的配置文件替換舊的,而是將其保存為;.rpmnew;形式。所以應將;
/etc/X11/fs/config.rpmsnew;
改成;config,並重新使用;chkfontpath;
命令重新配置字體搜索路徑,因為新的配置文件會有時會包含某此些重要的選項。若不使用;xfs;字體服務器,則直接修改
/etc/X11/XF86config;文件,加上你所使用的字體描敘即可。;

Locale;的設置;

由於在;RedHat;的;Glibc;2.1.3;中未包含;zh_CN.GB2312,需從台灣的Linux;中文擴展項目的;
ftp;網站獲取中文GB2312;場所的源碼包。下載地址如下:;

ftp://cle.linux.org.tw/pub/CLE/SRPMS/SRPMS/;
locale-zh-0.9.src.rpm;<==;目前的版本,包含;GB;和;BIG5;

注:若無法連接台灣的站點,可到我的主頁下載。我制作了一個locale數據包,包含CLE項目的gb2312,;
big5和TLC的gbk編碼。;

下載後,以;root;身份,編譯該源碼包(請務必重新編譯,舊的數據包將無法使用)。步聚如下:;

rpm;-ivh;locale-zh-0.9.src.rpm;

該命令將源碼包安裝在;/usr/src/redhat/;目錄下,進入;SPECS;子目錄,輸入;

rpm;-ba;zh-localedata.spec;

建立;RPM;包。如果無問題的話,生成的;RPM;包在;RPMS/i386;目錄下,可以把它保存起來,可供以後使用。在SRPMS;下,
生成一個新的源碼包,不需要可刪除。安裝;locale:;

rpm;-Uvh;locale-zh-0.9.i386.rpm;

安裝完,設置使用該場所,以;bash;為例:;

export;LC_ALL=zh_CN.GB2312;

使用;locale;命令可以看到所有的;LC_*;變量都換過來了,檢查該;locale;是否有效。有兩種方法,一是使用;glibc;的
setlocale(LC_ALL,;"");函數來檢測,檢測程序如下:;

testlocale.c;清單;
-----------------;


#include;
#include;


int;main(void);
{;
char;*current_locale

current_locale=setlocale(LC_ALL,;"")
if(current_locale);
printf("Current;locale:;%sn",;current_locale)
else;
printf("Doesn't;support.n")
return;0
};

編譯:gcc;testlocale.c;-o;testlocale;
執行:若支持,則顯示場所名;

另一種更簡單的方法是呼喚一個命令,看是否;locale;起作用了,如;rpm;-qi;kernel;如果你看到顯示結果的時間變成????y??m??d,那麼;locale;已經生效了。;

通過了上面的任一種測試,可說明;glibc;已本地化了。;

另外,可以在;/usr/share/locale/locale.alias;文件中定義;locale;
的別名,該別名可以有助於記憶,如在該文件中加入一行為:;

china;zh_CN.GB2312;

然後使用;export;LC_ALL=china;則完成與上一種方法相同的功能,而且更直觀。為了在以後登錄後就使用中文的locale,
可以將此命令加入到你的;HOME;目錄的;.bashrc;文件中。;

接下是就是有關;XLC_LOCALE;的設置了。在;/usr/lib/X11/locale/locale.alias;文件加入一行:;

zh_CN.GB2312;zh_CN.eucCN;

到此,glibc;和;Xlib;的;locale;就配置完成了。;

Chinput;的安裝;

自從於明儉老師在他的;Chinput;中文輸入服務器軟件中加入了;XIM;支持,遵從;Linux;國際化標准,使得我們可以在任何
遵守國際化標准的;Linux;產品中輸入中文了。該軟件可以從他的主頁下載。;

http://www.turbolinux.com.cn/~justiny/download/chinput-2.1.tar.gz;

下載後,解開該文件:tar;-xvzf;chinput-2.1.tar.gz;

解開後,再對源碼作一點點改動。進入;Chinput-2.1/src;裡,使用你喜歡的編輯器,打開;chinput.c;
文件,查找;GBK字樣,將其改為;GB2312。再查找;

system("/usr/bin/zwincontrol;&")

語句,將其取消(在前面加上;//;),該語句是啟動;ZWinPro;漢化平台的工具條的,chinput;的包裡沒有。;

修改完後,回到;Chinput-2.1;目錄下,執行;make;建立該軟件。軟件的安裝請參閱其自帶的文檔。;

安裝完成後,可以嘗試中文輸入了。進入;X;Windows;環境。選擇;Run,輸入;
chinput,中文輸入服務器就加載了。調用一個支持;XIM;輸入的程序,如;gedit,輸入幾個漢字試試,很好用。;

為了能在下次進入;GNOME;時自動啟動輸入服務器,可在;GNOME;Control;Center;的;Startup;Programs;項目中加入chinput。;

注:chinput;輸入服務器,僅對支持;XIM;的軟件有效,如果該軟件支持這種輸入方式,敲入;ctrl-space;就會出現輸入條,
否則無任何顯示。;

應用軟件的中文支持設置;

GTK;1.2;

修改;GTK;工具集的資源文件。在;/etc/gtk/gtkrc.zh_CN;文件中將所有的字體定義改為:;

fontset;=;"-*-*-medium-r-normal--16-*-*-*-*-*-iso8859-1,;
-*-*-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0";


由於;GTK;自定義使用14點陣象素的字體,而;Xfree86;僅帶中文16點陣字體,所以需要將所有的字體尺寸描途改為16。
另外在;TurboLinux;中帶有一個中文字體包;hz-pcfs,其中包含14,16,24點陣的中文字體,可取過來使用。;

修改完之後,可以試一試效果了。我使用的是;GNOME;桌面,啟動;X;後,選擇工具菜單中的;Text;File;Viewer程序,
打開一個中文文件,無問題的話,就可以看到熟悉的中文了。另外,目前最出的;GNOME;1.2;
的桌面系統,升級了;GTK,增加了更多的中文提示信息,很好用,值得一試。下載網址:;
http://www.helixcode.com。;

假若你看到的中文是亂碼的話,可嘗試做以下的修改。確定你所使用的桌面主題,不同的桌面主題采用了自制了gtkrc;文件,
當使用這些主題的時候,GTK;並沒有從;/etc/gtk;中讀取;gtkrc;文件,所以需要對相應主題的;gtkrc資源配置文件增加中文
字體描敘,使其可以正確的找到相應的中文字體。以;Default;為例,在;/usr/share/themes/Default/gtk;中會有一個;gtkrc;
的文件,查看其內容,將其所有的字體描述改為像;/etc/gtk/gtkrc.zh_CN;那個樣子就行了。;

Qt;1.44;

關於;qt;1.44;高級控件集的中文設置問題,我還不清楚;:(;

GNOME;

對於;GNOME,有些提示項可以直接修改,而有些固化詞條(stock;item)則需要;GNOME;libs;本身對中文信息支持,
所以修改;.desktop;文件是一件最簡單的方法。(若對;GNOME;信息中文化有興趣,可聯系gnome;開發組,幫助完成中
文翻譯工作。);

漢化;GNOME;的菜單項:;

在;/usr/share/gnome/apps/;下,有一些以;.desktop;為後綴的文件,打開該文件,加入一行;

Name[zh]=你想要的中文名;

則可對相應的菜單項增加中文名,很容易,一看就會。GNOME;的個人菜單項存放在;HOME;目錄下的;.gnome/apps目錄裡,
形式相同。;

Netscape;

FIXME:;Netscape;
的中文設置還沒完成,暫時只給出一些簡單的配置供參考。效果:只能在netscape的控件中輸入和顯示中文,在頁面顯
示區的form控件中只能輸入,不能顯示:(;

將以下幾行加入到;home;的;.Xdefaults;文件中;

!!!!!!!!!!!!!!!!!!!!!!;
!!!!;For;Netscape;!!!!;

Netscape*versionLocale:;zh_CN;
Netscape*defaultCharset:gb2312;

Netscape*fontList:;
-adobe-helvetica-medium-r-*--14-*-*-*-*-*-*-*
-isas-*-*-*-*--14-*-*-*-*-*-*-*:;

Netscape*XmTextField.fontList:;
-adobe-helvetica-medium-r-*--14-*-*-*-*-*-*-*
-isas-*-*-*-*--14-*-*-*-*-*-*-*:;

Netscape*XmText.fontList:;
-adobe-helvetica-medium-r-*--14-*-*-*-*-*-*-*
-isas-*-*-*-*--14-*-*-*-*-*-*-*:;

Netscape*inputMethod:;Chinput;
Netscape*preeditType:;root;

網絡資源;

www.linuxforum.net;中國Linux論壇;
www.turbolinux.com.cn/~justiny/;於明儉的主頁,關於;Chinput;的資料。;
copyright © 萬盛學電腦網 all rights reserved