2009年2月26日星期四

kde4使用scim-bridge

使用scim-bridge实现kde4环境下中文输入的功能,是早就有人提到的中文输入解决办法

在kde4 for FreeBSD环境下,因为scim-bridge移植进ports比较晚,所以直到今天才开始测试scim-bridge

在ports里,scim-bridge分成了两个port,一个是 textproc/scim-bridge-qt4,用于建立客户端库,另外一个是 textproc/scim-bridge,提供一种代理机制,访问scim的功能。可以说这是一个暂时的权益之计,scim的子项目skim移植到kde4是早晚的事情,但就目前,这似乎是一种通用的办法,至于ibus,虽说很多人都不吝啬言辞的盛赞,但在FreeBSD环境下,还是要等待,至于ibus会好到哪儿,用时再说了。看相关资料,似乎是xim的设计者弥补不足而设计的新协议。

编译安装scim-bridge-qt4,scim-bridge没费多大的心神,只需要scim的运行依赖比skim需要安装kdelibs3要节省空间不少,但在开始使用这个bridge时,遇到的问题让我啼笑皆非。

按照kde on freebsd邮件列表给支的招发,因为我采用kdm启动桌面环境,所以修改了下~/.xprofile文件

加入了下面一行:

export QT_IM_MODULE=scim-bridge

注销登录后,熟悉的scim托盘图标出现,而且一出就是俩。。。:-(

ctrl-space 之后,能唤出scim的工具条,基本功能实现,ps -xc | grep scim 查看了下,看不出什么问题,只好乱点右键在这两个托盘图标上,一个中文一个英文,好在右键菜单都提供退出功能。

再次注销登录,不曾遇到的怪现象出现了,英文界面图标依然出现,而中文那个却消失了,用户目录下也出现了core文件。很脆弱。

琢磨了好一阵子,才知道scim-bridge在系统退出时,不删除建立的socket(代理的特色?),在 /tmp目录下,google 了一下相关网页,同患难者甚众,看来是设计上的权宜之计,虽说不痛不痒,但总不是那么完美。说到“完美”,无论是windows还是类unix,都是越来越差劲了。

scim-bridge,可用,但要手工作点儿粗活,需要rm下/tmp目录下的scim*,不过有点儿可乐的是,删除socket的时,scim倒是能感知到,能重新启动scim-bridge,这种半自动化着实让我惊讶,更加让我感到有点儿欣慰的是,自动生成一个托盘图标,着实顺眼不少。对scim-bridge的印象也大有改观。想想也是,对于bridge还能要求怎样,kde4更新不停的轮番轰炸,让人怎么能安下心来开发平台相关软件呢!

kde on freebsd上有位仁兄给出一个妙招,大意是把/tmp挂载到临时文件系统,估计也就是内存盘,能免去手工删文件的劳作,但两个托盘图标,依旧需要指指点点才能去掉,而我不过是多道手续,也罢,就不过多折腾改观了,但一个结论是有了,目前scim-bridge是无法集成进桌面版,期待软件作者的更新和移植,最好是我所喜欢的那个skim能出kde4版。

虽说scim-bridge有些暇呲,但难掩玉的光华,本篇博文的中文输入使用的就是scim-bridge,它对konq的支持不错,值得一赞!

1 条评论:

  1. 杜比兄,你现在浏览网页都用konq了?和ff比有哪些不同啊

    回复删除