Ibus 输入法

Ibus 输入法

由于种种历史遗留问题,本人惯用的汉字输入习惯和大多数人不一样:双拼输入法,并且是智能 ABC 风格的。这也就决定了我选择输入法的时候首先看它是不是支持我习惯的风格。以前 Google 推出中文输入法的时候,我的反应就很慢,因为不确定它是否支持双拼,后来发现它对智能 ABC 风格的双拼支持的很好,我在 Win 下的输入法就换成了 Google 的。

听说 Linux 下的 Ibus 输入法已经很久了,也是因为同样的原因没去尝试。搜索 “Ibus 双拼”,往往得不到有用的信息。今天在 Ubuntu 中文社区看到一张,发现已经有双拼支持,才让我下定决心尝试一下。

Ibus 已经被打包到了 ubuntu-cn 的源里(注意,不是 ubuntu),可以直接 apt-get install ibus-pinyin。由于我的 locale 是 en_US.UTF-8,所以 im-switch 不好用,只好将输入法选择写到 ~/.profile 里:

XIM=ibus
XIM_PROGRAM=/usr/bin/ibus
XIM_ARGS=""
GTK_IM_MODULE=ibus
QT_IM_MODULE=ibus
DEPENDS="ibus"

然后 re-login。网上有各种配置方法,其实我也不知道该怎么写才对,但输入法的启动不就是 X 启动时运行一个脚本嘛,从 /etc/X11/xinit/xinput.d/ibus 拷贝出来的东西总该没错。

第一次启动输入法需要选择 engine,这一点要比 scim 好,scim 默认就把乱七八糟的 engine 都给你配置上,还需要一个个去删除。然后再找配置双拼的地方,开始怎么也找不到,为什么不在 preferences 里呀?最后才想起来去看看那个输入法的语言条,才发现和 Google 拼音一样,启动配置在语言条的最后一个图标。

然后就开始码字,使用感觉是相当的爽的,界面比 scim 好看,用户词库的记忆效果貌似也比 scim 好。而且 scim 在处理双拼时候一直有一个问题:只显示键字母而不显示拼音。就比如“将”这个字用 ABC 双拼打是“jt”,在 scim 里拼音栏只会显示“jt”,而不是把“t”转换成“iang”,ibus 就没有这个问题。

目前来讲,ibus 最大的问题是反应有一点点慢,当打字速度快的时候,可能最后一个键没有记录上就把前面的输出了。比如打“将”时,jt空格,如果空格敲得太快,可能出现的是“就t”,大概也跟我使用的机器比较慢有点儿关系。这篇文章就是用 ibus 敲的,速度还可以忍受。

我把 scim 给删掉了,准备使用 ibus 一段时间,看看它是不是会引起一些程序的工作不正常。对 scim 引起的 KDE 程序崩溃和输入法不可用的毛病我已经容忍很久了,早就祈祷着到 Google 工作的 suzhe 能够继 scim 之后推出 Google 拼音的 Linux 版,目前看来 ibus 大概可以满足一下我的大部分需求。

《Ibus 输入法》上有10条评论

  1. 我两次试图通过编译源代码安装IBUS,但是安装后总是出现IBUS DEAMON运行失败,现在打包到源里面了,可以安装尝试一下~

  2. 前不久用回了一段时间 Windows,这两天用 Ibus,发现和搜狗还是有一段差距的。

  3. 在Gentoo里用过一段时间ibus,回Ubuntu后觉得安装ibus太麻烦就一直没有尝试。

  4. Ubuntu 8.04 使用ibus有2周了吧
    最近ibus不能在eva下输入汉字了,pidgin的QQ又不好用,只好用腾讯的那个简陋版
    而且在vim 中输汉字,但切换窗口在回到vim, ibus很可能没有 汉字提示

  5. 记词、稳定性、和其它软件的兼容性,fcitx 都不错。

    不过,ibus在“配置”上应该是最人性化的。至于scim,以前用了很久(ubuntu),实在不忍说它坏话。

    MS下,印象中 紫光拼音(V5,不是最新的那个) 应该是最好用的拼音输入法。

  6. suzhe 大哥做那个 Google Desktop Gadgets for Linux 呢,不知道他管不管输入法这块。

  7. $ ibus-setup
    Traceback (most recent call last):
    File "/usr/share/ibus/setup/main.py", line 35, in
    from gtk import glade
    ImportError: cannot import name glade

    $ sudo apt-get install glade
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following extra packages will be installed:
    debhelper glade-common html2text libatk1.0-dev libcairo2-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgtk2.0-dev libpango1.0-dev libpng12-dev libx11-dev
    libxcb-render-util0-dev libxcb-render0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxrandr-dev
    libxrender-dev x11proto-composite-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-xext-dev zlib1g-dev
    Suggested packages:
    dh-make glade-doc libglade2-dev menu libcairo2-doc
    The following NEW packages will be installed:
    debhelper glade glade-common html2text libatk1.0-dev libcairo2-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgtk2.0-dev libpango1.0-dev libpng12-dev libx11-dev
    libxcb-render-util0-dev libxcb-render0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxrandr-dev
    libxrender-dev x11proto-composite-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-xext-dev zlib1g-dev
    0 upgraded, 31 newly installed, 0 to remove and 0 not upgraded.

    $ ibus-setup
    Traceback (most recent call last):
    File "/usr/share/ibus/setup/main.py", line 35, in
    from gtk import glade
    ImportError: cannot import name glade

    $ sudo apt-get install glade-3
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following extra packages will be installed:
    libglade2-dev libgladeui-1-7 libxml2-dev
    Suggested packages:
    glade-gnome-3
    The following NEW packages will be installed:
    glade-3 libglade2-dev libgladeui-1-7 libxml2-dev
    0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.

    $ ibus-setup
    Traceback (most recent call last):
    File "/usr/share/ibus/setup/main.py", line 35, in
    from gtk import glade
    ImportError: cannot import name glade

    $ sudo apt-get install python-glade2
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    Suggested packages:
    python-gtk2-doc
    The following NEW packages will be installed:
    python-glade2
    0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.

    (main.py:22642): IBUS-WARNING **: Error: Failed to connect to socket /tmp/ibus-aaron/ibus--0.0: No such file or directory
    Starting ibus-daemon OK
    Starting ibus-conf OK
    Starting ibus-ui-gtk OK
    Starting ibus-x11 OK

    ...

    Seems Done?. Restart GDM now...

  8. 我的qterm 0.4.1不能输入中文,
    gnome-session启动的

    $ cat ~/.xinput.d/zh_CN
    XIM=ibus
    XIM_PROGRAM=/usr/bin/ibus
    XIM_ARGS=""
    GTK_IM_MODULE=ibus
    QT_IM_MODULE=ibus
    DEPENDS="ibus"

    $ ls -l .xsession
    lrwxrwxrwx 1 ashang root 8 2008-12-24 15:39 .xsession -> .xinitrc

    在.xinitrc有如下:
    export IME=ibus
    export XIM=$IME
    export XIM_PROGRAM=$IME
    # export XIM_ARGS="-d"
    export GTK_IM_MODULE=$IME
    export XMODIFIERS=@im=$IME
    export QT_IM_MODULE=$IME

    $ locale
    LANG=en_US.UTF-8
    LC_CTYPE=zh_CN.UTF-8
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="en_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_ALL=

    Alt-F2启动以及gnome-terminal下启动的qterm都不行

    can input in firefox, gnome-terminal

    any hints?

    thanks

回复 Aaron 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注