XFree86 4.2+ on FreeBSD的中文问题

XFree86 4.1.0在FreeBSD下对中文支持的很好,但是之后版本的XFree86编译之后(From port)对FreeBSD的中文locale基本上是不支持,当你在.cshrc(我用的是tcsh shell)设置了LANG和LC_ALL为zh_CN.EUC后,启动X服务器就会发现X服务器出现:locale not supported之类的信息,当然你也不能使用Chinput之类的软件了,虽然可以显示中文 。

我是这么解决这个问题的:

展开XFree86的第一个压缩包,在xc目录下有一个nls目录,它下面有个XI18N_OBJS,把zh文件复制一个名为zh_CN的文件,然后在这个目录中的Imakefile中加入一行:

XI18NTarget(zh_CN)

用这个文件重新编译整个X系统,当然,所有的X有关的软件都要重新编译才行 。这样就可以正常使用Chinput了,包括现在还没有正式被port收录的chinput3,我认为,chinput3是最好用的一个版本 。

    推荐阅读