在Ubuntu 8.10 中安装使用新一代输入法ibus Deb包下载_Ubuntu,Linux,ibus输入法,拼音,五笔,搜狗
Linux下常见的输入法有fcitx和scim。fcitx,全称“Free Chinese Input Toy for X”,中文名称为“小企鹅输入法”,支持拼音,五笔字型以及区位、二笔。可以输入UTF-8、GB 18030编码中的汉字。fcitx 小巧好用,兼容性好,Fcitx 的配置以及使用较为简单,比较适合于初学者以及习惯Windows输入方式的人使用,但 fcitx 只能提供中文输入,且投供的输入法种类稍少,尤其是fcitx已经停止开发,另外Fcitx属于XIM,而XIM崩溃之后会导致应用程序和X的崩溃,所以 若fcitx若崩溃可能导致用户数据的丢失;SCIM,Smart Common Input Method,是一个在类Unix操作系统上支持多国语言的一个输入法平台,在其上可以使用很多种输入法,支持各种语言的输入,但SCIM最大的问题是其 兼容性,很多情况下导致用户无法正常使用,给用户带来了极大的不便。
因为上面问题的存在,下一代输入法应运而生。ibus(http://code.google.com/p/ibus/)是下一代输入法的框架中的其 中一个,作者Shawn.P.Huang同时也是scim-python的作者。其它的两个下一代输入法框架有scim2(主页在 http://code.google.com/p/scim2/,由stardict的作者胡正领导开发),imbus(http: //code.google.com/p/imbus/,由scim的作者苏哲带领开发),目前,imbus和scim2都没有什么进展。
ibus的主要特色在于它的C/S结构,ibus输入法引擎都是各自独立的单独的进程,这种方式可以有效的避免输入法引擎之间的影响,另外,也比较容 易地载入和卸载输入法引擎。
ibus使用了dbus作为进程间通讯的机制,dbus具有低延迟和低开销的特点,小巧而高效,在GNOME和KDE中都获得了广泛应用。dbus的 使用,使ibus具有小巧高效的特点。
另外,在图形界面方面,ibus使用pygtk,使开发更加容易。
ibus输入法的安装
如果自己编译ibus的话,需要最新的dbus-python,而8.04的dbus-python是低版本的。还要先编译最新版的dbus-python,比较麻烦。好在不久前ibus在 ubuntu 8.04下可以直接通过cn99的源安装了。
添加ibus的软件源到系统。编辑/etc/apt/sources.list文件,在文件的最后添加一行:
deb http://Ubuntu.cn99.com/ubuntu-cn/ hardy main restricted universe multiverse (此源已废)
要不然会提示找不到ibus包。如果只用拼音的话,直接 sudo apt-get install ibus-pinyin 就可以了。这条命令会安装ibus和ibus-pinyin两个包。如果要用其他输入法,可以再安装 ibus-tables这个包,其中包含了五笔86、五笔98、二笔、郑码、仓颉5代。
更新软件包列表
$ sudo apt-get update
然后搜索软件包
$ apt-cache search ibus |grep ^ibus
ibus - iBus - Intelligent Input Bus for Linux / Unix OS
ibus-pinyin - ibus-pinyin
ibus-table - IBus-Table
上面已经可以看到ibus软件包的信息了,上面的软件包中ibus-pinyin是ibus的拼音输入法的引擎,ibus-table是其它输入法的 引擎,如仓颉第五代,二笔,五笔86,五笔98,郑码等。
安装ibus软件包
$ sudo apt-get install ibus ibus-table
因为笔者不使用拼音输入法所有只安装了ibus和ibus-table,用拼音输入法的朋友还需要安装ibus-pinyin软件包,使用下面的命令来安装
$ sudo apt-get install ibus ibus-table
安装完成后,设置用户默认使用ibus输入法,还需要配置ibus为系统输入法。比较简单且不容易出错的方法是通过im-switch来设置,im-switch应该在系统中自带了,没有的话就apt一个。因为ibus在安装的过程中已经在/etc/X11/xinit/xinput.d下面建了一个配置文件,所以直接打“im-switch -s ibus“选定这个配置。接着重新启动就可以使用ibus了。这种方法保留了scim,以后可以im-switch切换回来。
ibus并不会自动加载输入法引擎,要在ibus-setup界面的engine中启动并设置自启动(我只安装了拼音输入法)。
打开一个终端,在终端中执行下面的命令:
$ im-switch -s ibus
注销当前用户,重新登录。
虽然是基于python的,但是用下来觉得还是很流畅的,效率是没有问题的,词库也很丰富,选词准确率很高,个人觉得好似linux上的搜狗输入法,呵呵。
当然,每个人的输入习惯不一样,scim、小企鹅也是不错的。要找到合适的输入法还是要自己去慢慢体会和比较。
ubuntu编译完成Deb包下载:
ubuntu 8.10手工下载安装:
http://archive.ubuntu.org.cn/ubuntu-cn/dists/intrepid/main/binary-i386/ibus/
ibus 0.1.1 deb包: http://archive.ubuntu.org.cn/ubuntu-cn/dists/intrepid/main/binary-i386/ibus/ibus_0.1.1.20081106-1_i386.deb
安装此处的ibus相关包裹后 如果没办法选择ibus为默认输入法请执行下列命令
sudo update-alternatives /
--install /etc/X11/xinit/xinput.d/zh_CN xinput-zh_CN /
/etc/X11/xinit/xinput.d/ibus 40
ibus for 32bit ubuntu 8.10 下载
http://ubuntu:ubuntuftp@ftp.ubuntu.org.cn/home/bora/package/Ubuntu8.10/
i386版本,支持 im-switch 管理,支持QT4,已加入到中文源,呵呵,还不错,有兴趣者可以放心使用。
目前发现的问题是拼音开了模糊后,反应有点慢。
$ ls
ibus_0.1.1.20080908-1.diff.gz
ibus_0.1.1.20080908-1.dsc
ibus_0.1.1.20080908-1_i386.changes
ibus_0.1.1.20080908-1_i386.deb
ibus_0.1.1.20080908.orig.tar.gz
ibus-pinyin_0.1.1.20080901-1.diff.gz
ibus-pinyin_0.1.1.20080901-1.dsc
ibus-pinyin_0.1.1.20080901-1_i386.changes
ibus-pinyin_0.1.1.20080901-1_i386.deb
ibus-pinyin_0.1.1.20080901.orig.tar.gz
ibus-table_0.1.1.20080901-1.diff.gz
ibus-table_0.1.1.20080901-1.dsc
ibus-table_0.1.1.20080901-1_i386.changes
ibus-table_0.1.1.20080901-1_i386.deb
ibus-table_0.1.1.20080901.orig.tar.gz
python-dbus_0.83.0-1_i386.deb
使用方法,安装 ibus ibus-pinyin ibus-table python-dbus
然后使用 sudo im-switch -c 选择 ibus 输入法。
退出后重启电脑。
附:ibus初探:
http://imtx.cn/archives/527.html
那天在Toy上看到下一代输入法框架 ibus,当时没什么感觉,只是觉得名字ibus有点意思。
今天把ibus的代码git下来后一看:原来ibus是一个基于pygtk、dbus的一个输入法引擎!!!兴趣立马大增。
当初还以为是基于Unix Socket的、只提供了Qt的图形接口的C/S输入法引擎。现在一看ibus中的三样核心技术(Python, dbus, gtk)都是目前我学习的方向,因此打算好好研究一下ibus。
—–
ibus的全称是input bus,是由scim-python的作者Shawn.P.Huang所开发的。
中文领域还有两个正在开发当中的输入法引擎,分别是scim2和imbus,分别是由胡正和苏哲领导开发。不过进展不明,特别是imbus,最近的commit都是半年前了。
与scim2和imbus基于C/C++所不同的是,ibus是基于Python的。你会说肯定会效率问题怎么解决?我想只要不是打字打到每分钟500个以上,不用管这个问题了吧?
Python开发迅速,加上Shawn.P.Huang的活跃开发,应该有理由相信ibus能很快地成熟起来并得到应用。
废话不多说,初探一下ibus吧!
先说dbus
ibus使用了dbus作为C/S架构的核心部分,这个的应用实在是棒。因为dbus是一个高效、低延时的IPC通讯总线,而且有着完善的Python绑定,俺在Ubuntu Tweak也是用dbus来搞一些系统级的服务调用的。
记得之前遇到过Fitx输入法的作者,Fitx输入法的是基于scim-python的,不过后端的引擎是基于Unix Socket的。这两种通讯管道哪个好呢?这个就没有深入研究了,我只知道dbus是基于注册的服务,提供的接口和语言绑定比较丰富和灵活,这样前端也可 以比较多样化了(现在就有Qt4前端了)。
因为自己也只是初识dbus,Unix Socket更是没用过,这方面也不好多说。希望能从ibus那学习到更多有关dbus的东西。
再说pygtk
说ibus是基于pygtk的,不如说是基于pygobject的,当然底层是glib。
ibus的基类:自定义的Object,就是继承于gobject.GObject。在整个ibus引擎中(特别是在daemon),都广泛用到了 gobject,也就是信号/回调之类。用Python来写定义GObject就是方便,如果用C语言那真是麻烦死了。所以想学pygtk的核心部分的朋 友,去参考一下ibus也不错。
……<<<<<<<……俺是疯哥线……>>>>>>>……
不能光看不做,于是打算安装试用一下。折腾了很久,才把ibus安装上去。
因为过程实在是太复杂了,所以这里只讲主要过程。
安装过程是参考这里:http://code.google.com/p/ibus/wiki/ReadMe,只安装了ibus本身和PinYin engine。
ibus默认依赖Qt4,这个倒没关系,不过无论我怎么configure均通过不了。无奈之下,把configure.ac中有关Qt的去掉,然后在Makefile.am和Makeifle.in中也把Qt相关的去掉,终于成功编译了ibus。
编译完后运行ibus,一堆Python错误。一看,Ubuntu 8.04的python-dbus不合乎要求,没有dbus.server这个包,ibus需要0.83,但默认0.82。于是上Index of /releases/dbus-python下载了个0.83的python-dbus安装更新之。
终于可以运行ibus的daemon了,可是执行GTK_IM_MODULE=ibus gedit,在gedit中就是打不开ibus。
再去研究,发现make install时把im相关的东西安装至了/usr/lib/gtk-2.0/immodules,而Ubuntu下默认是集中在/usr/lib /gtk-2.0/2.10.0/immodules这的。于是手动移到那个目录,并手动编辑了:/usr/lib/gtk-2.0/2.10.0 /immodule-files.d/libgtk2.0-0.immodules 这个文件。
重新登录GNOME,呼~ibus终于出现了!
虽然我不是用拼音的,但是还是硬着头皮试用了一个安装了PinYin的ibus。
用了一会,感觉非常满意!
界面很漂亮,输入效果也很棒,还支持Fcitx式的直接输英文:这意味着我将来可以非常自然地过渡至使用ibus!
看下面的截图:
在Leafpad里使用ibus
浮动条,很小巧
PinYin的设置界面,很详细。
因为是一个全新的输入法(不像scim-python是基于scim的),所以ibus拥有一些scim不具备的特性,而且输入法正在不断开发当中,我相信ibus一定会成为最牛的输入法的!哈哈。
今天先熟悉下,往后抽出时间来继续看源码,希望能为开发尽一点自己的能力!