以前在 Redhat/Fedora Core 中弄過一樣的事情,不過內中流程甚爲繁瑣。還好在 Ubuntu 中,這件事情變得簡單易行。在 Linux 英文界面下處理中文,主要需要解決兩件事情。首先是中文輸入法的問題,其次是中文顯示(美觀)的問題。
在切換到英文界面之後,編輯配置文件 /etc/environment,增加或者修改相應的 locale 設置:
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
LANGUAGE="en_US:en"
GST_ID3_TAG_ENCODING=GBK
LANG=en_US.UTF-8
這樣使得在需要使用中文的地方能夠良好的表現中文,而其他地方能夠展現英文。
然後編輯 X 的輸入法配置文件 /etc/X11/Xsession.d/95input(如果沒有這個文件,就創建一個):
export XIM=SCIM
export XMODIFIERS=@im=SCIM
scim -d
(這一步在安裝 SCIM 就應該做好了的。)
最後編輯字體配置文件 /etc/fonts/fonts.conf。我使用的中文字體是 Apple OS X 下的華文黑體,因而需要在此文件中定義一段:
<!--
OS X Heiti
-->
<match target="font">
<test name="family">
<string>STHeiti</string>
</test>
<edit name="hinting">
<bool>false</bool>
</edit>
</match>
然後在此配置文件中找到
<!--
Mark common families with their generics so we'll get
something reasonable
-->
這麼一段,在日文字體前加上你所要使用的中文字體(因爲很多日文漢字也可以用來表示漢文漢字,所以如果不做這一步的話,在瀏覽網頁的時候就會容易出現兩種語言的漢字混合在一起顯示的情況)。比如說 <family>Kochi Mincho</family> 明顯的是日文字體的配置,那我們就可以在此之前加上
<family>STHeiti</family>
的配置。之後還需要修改
<!--
Provide required aliases for standard names
-->
下面的相應配置。
修改完畢之後,重啓 X Server,重新登錄就 OK 了。