FreeBSD X Window下的中文环境
http://tech.ddvip.com 2006年08月20日 社区交流
本文详细介绍FreeBSD X Window下的中文环境
Chinput使用资源文件Chinput.ad,并需要Cxterm的输入法,因此需要预先安装Cxterm包。它还提供了一个脚本run来运行应用程序。但直接设置LD_PRELOAD变量的方法也不复杂(移植到FreeBSD后的package中的执行脚本被更名为crun),Chinput的输入服务器为chinput,因此可以使用下面的命令来启动Chinput。
$ chinput &
$ crun kvt &
ZhXWin的输入服务器也使用Chinput的chinput,并加上一个比较简单却有效的用于处理显示的包装库,它可能是基于Chinput的一个早期版本发展的。ZhXWin的优点是简单、有效,标准Chinput使用了几种不同大小的字体进行显示,而ZhXWin仅仅使用一种字体,然而除了一些字符间距的处理方面,其显示效果还不错。
$ LD_RELOAD=/usr/X11R6/lib/libst.so; export LD_PRELOAD; kvt&
- 使用包装软件
每个包装软件由两个部分组成,一个部分为输入模块,需要单独运行。XA使用Xcin作输入模块,Chinput和ZhXwin使用chinput作输入模块。另一个部分为包装库,需要使用LD_PRELOAD环境变量进行设置。
如果要让窗口管理器,如KDE,也显示中文,就需要在启动这些窗口管理程序之前设置好包装库,这就需要在.xinitrc或.xsession文件中的最前面增加LD_PRELOAD变量的定义:
$ mv ~/.xinitrc ~/.xinitrc.orig
$ cat > ~/.xinitrc
LD_PRELOAD=/usr/X11R6/lib/wrap.so
export LD_PRELOAD
chinput &
^D
$ cat ~/.xinitrc.orig >> ~/.xinitrc
然而由于这些中文包装软件需要处理键盘,以用于输入中文,直接让包装软件接管窗口管理器,就使得它也影响窗口程序的键盘控制,就使得一些热键不能正常使用。虽然通过包装KDE,使KDE能显示中文菜单和中文提示,但为了使用正常的键盘操作,还是推荐对每个需要中文能力的软件分别进行包装,而不要直接对窗口管理器进行包装。
责编:豆豆技术应用