以前在 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>STHeiti</family>
的配置。之后还需要修改
<!--
Provide required aliases for standard names
-->
下面的相应配置。
修改完毕之后,重启 X Server,重新登录就 OK 了。