ibus-pinyin在n900上的安装指南

提交bug来这里:http://code.google.com/p/ibus/issues/list 用中文写bug描述就行

介绍:

起因是我很无聊,无聊所以我玩twitter,然后发现 Khweeteur的图标很漂亮就装了。然后在twitter上遇到了 Khweeteur的作者khertan 。我说"khweeteur is very good,but I cannot type chinese ",然后khertan来问我是怎么回事,是Khweeteur的问题还是中文不在utf-8范围内还是说maemo下qt程序都不能输入中文。然后我告 诉他,maemo下qt程序都不能输入中文。于是他就只能很无奈的表示这事他解决不了。

于是我决定把ibus搞搞。这件事情拖了很久了。之所以最近有时间了,是因为我把工作辞了,年前也没有心思去找下份工作。所以今晚一口气给n900更新了好几个软件。飞信,keepassx,最后一个,就是ibus-pinyin。

我认为,linux下中文输入法可以分为这么三代: 第一代是fcitx,俗称小企鹅,有点像智能ABC。第二代是scim,提供了微软风格的整句输入功能,作者是Su Zhe,在smth上经常能看到他。前一阵他在google工作,现在不知道还在不在,不过他貌似不过问scim的事情了。第三代就是ibus,一套新的 引擎。maemo平台下,ibus的日文输入法已经有了,但是中文的一直没有。

大家都知道nokia在主推QT,但是n900上却一直不能在QT程序中输入中文。ibus-pinyin弥补了此遗憾。

安装步骤

首先强调下,这个软件的界面本身就是汉化好了的。但是我机器的语言是English,所以界面才是英文的。

1、因为mscim和ibus有冲突,所以如果你现在装的有mscim(基本上必然),请一定打开xterm运行apt-get purge mscim然后关机重启,然后再装ibus-pinyin。

2、你的源是否包含extras-devel?如果不包含,找论坛其它的文档,加进去

deb http://repository.maemo.org/extras/ fremantle-1.3 free non-free

deb http://repository.maemo.org/extras-devel/ fremantle free non-free

deb http://repository.maemo.org/extras-testing/ fremantle free non-free

3、从App Manager(程序管理器)中寻找ibus-pinyin以及ibus-qt,然后安装。或者打开xterm 运行apt-get install ibus-pinyin ibus-qt

4、把默认输入法设置成ibus

把这个文件 http://www.sunchangming.com/files/soft/ibus_profile.txt 下载下来,放到/home/user/下,然后把文件名改成".profile"。注意,名字前面有个小数点。

之后打开一个新的xterm,执行下面的命令,看看你的输出和我的一样不。注意:不是拿root执行!

~ $ env |grep ibus

GTK_IM_MODULE=ibus

XMODIFIERS=@im=ibus

QT_IM_MODULE=ibus

5、把ibus的默认输入法设置成pinyin

你装完ibus之后,桌面上会多出来一个齿轮一样的图标。叫"IBus Preferences"。

第一次启动的时候会有这样的提示

上图选Yes。

上图点OK。进去后,有3个Tab页

第一个页面中,要设置一下

打开选中间那个标签"Input Method"。点中间那个下拉框(这个操作不大容易),把pinyin加进去。

成功后结果图如下

是的,这个界面有些bug,如果你发现很难选中pinyin,那么算了,把这个界面关掉。下载http://www.sunchangming.com/files/soft/setpinyin.py,然后打开xterm以普通用户(user账户)执行

~ $ python setpinyin.py

几张截图:

短信

QT版的twitter客户端

还是强调几点:

1、这只是第一个版本,肯定不完善。

2、我不是ibus-pinyin的作者,我只是改了一点东西让它适应maemo平台。

3、这是开源软件,免费使用。但是接受捐助。我现在没工作了,你如果愿意意思一下捐助一点,我的paypal以及支付宝帐号都是me@sunchangming.com。哪怕你只捐一毛钱,我也很感谢。因为这就是开源软件的生存模式,我上个月还在OpenSource Camp会议上在中科院的教室的做过演讲。我是最后一个发言的,请大家多多支持开源软件。

目前已收到USD $2 ,RMB 197。

bug提交:http://code.google.com/p/ibus/issues/list 提交的时候请注明是n900上发现的问题

maemo.org太慢了,我提交了一个多小时才提交成功。提交了7次,每次失败都是因为debian/control文件里面的Build-Depends写漏东西了。

最后郑重的感谢HOPE和Evan提供的大力支持。

======================mscim与ibus的冲突细节=====================

如果你装了mscim,一定要删除掉之后运行apt-get purge mscim,然后重启。再尝试使用ibus

细节是这样:

现象:装了ibus,也启动了。但是Ctrl+Space按了没反应。任何程序都只能输入英文。

原因:

Nokia-N900:/etc/event.d# dpkg -L mscim

/etc

/etc/scim

/etc/scim/config

/etc/scim/global

/etc/event.d

/etc/event.d/scim

即便把mscim删除了,但是它的配置文件依然留着。其中很讨厌的一个就是/etc/event.d/scim,它在启动时运行,并清空/etc/gtk-2.0/gtk.immodules这个文件。结果是,你的任何gtk输入法都无效了。

有一个类似的bug: http://code.google.com/p/scim-for-maemo/issues/detail?id=23 是说卸载mscim之后,虚拟键盘依然用不了。

重新生gtk.immodules的方法:/usr/bin/gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules

=====================已知BUG================================

1、在部分程序中用Ctrl+space关闭输入法后,无法输入英文

比如,我在App Manager以及MicroB browser的html页面的text input field中都无法输入英文。

我怀疑和这个BUG http://code.google.com/p/ibus/issues/detail?id=968 是同一个BUG。

但是用Ctrl+shift切换输入法就可以

2、不能使用键盘选字,只能使用触摸屏选字

我怀疑和键盘布局有关。

3、字太小

很可惜,ibus-setup那个程序界面太大,于是n900显示不下。可以用python脚本来修改字体

>>> import ibus

>>> ibus.Bus().get_config().set_value("panel", "use_custom_font", True)

>>> ibus.Bus().get_config().set_value("panel", "custom_font", "SimSun 44")

此博客中的热门博文

在windows下使用llvm+clang

少写代码,多读别人写的代码

tensorflow distributed runtime初窥