# IBus (简体中文)

概览 help replacing me
本文讨论 Ibus 的安装、配置和使用中遇到相关问题的解决步骤
相关页面
Fcitx
SCIM
UIM

IBus ("Intelligent Input Bus") 是一个 输入法框架，一个输入非英语字符的系统。IBus 的功能与 SCIM 和 UIM 类似。

## 安装

从官方仓库安装ibus软件包：

    # pacman -S ibus

此外，为了启动ibus的Qt应用程序支持, 安装ibus-qt软件库：

    # pacman -S ibus-qt

### 输入法引擎

你至少需要一个支持你所想用的语言的输入法。可用的输入法包括：

- ibus-anthy: 一个日文输入法引擎，基于anthy。
- ibus-pinyin: 一个智能中文语音输入法引擎，支持汉语拼音与注音符号。设计者为Ibus的主要作者，而且有许多的高级功能（如英文拼错修改）。
- ibus-rime:一个强大的智能中文输入法,支持拼音、注音或者没有音调的拼音、双拼、粤拼、中州韵、仓颉和五笔86。
- ibus-chewing:一个智能中文语音输入法引擎，支持注音符号，基于libchewing。
- ibus-hangul: 一个韩文输入法，基于libhangul。
- ibus-unikey: 支持越南文字的输入法引擎。
- ibus-table: 一个支持查表型输入法的输入法引擎。
- ibus-m17n: 一个m17n输入法引擎，可以用m17n-db数据库中的输入法来输入许多语言。
- ibus-mozc - 个日文输入法引擎, 基于 Mozc. 包含在 mozc 包中。
- ibus-keymagic:一个复合型智能输入法，它被设计成可以工作于所有语言，但需要和kms脚本生成的km2键盘布局共同使用。

查看所有可用的输入法：

    $ pacman -Ss ^ibus-*

其他软包也供给于AUR.

### 初始安装

现在运行ibus-setup的初始程序(当要用Ibus的用户):

    $ ibus-setup

它会启动后台程序，并给你这条信息：

    IBus has been started! If you cannot use IBus, please add below lines in $HOME/.bashrc, and relogin your desktop.
    （译：IBus已启动！如果您还不能用Ibus,请您先将以下的三行代码加到$HOME/.bashrc，再重新登录。)
      export GTK_IM_MODULE=ibus
      export XMODIFIERS=@im=ibus
      export QT_IM_MODULE=ibus

注意: 虽然Ibus使用一个后台程序，但是它不是被/etc/rc.conf中的DAEMONS（后台程序）阵列管理的那种后台程序：它当普通用户运行，并你登录时，它会启动。
注意: 但是，如果ibus尚未启动，先将那些"export"的代码复制到$HOME/.xprofile，并将这行代码加到该文件：“ibus-daemon -x -d”,再重新登录。

之后，你会看到一张设置屏幕。Ibus运行时，可以随时访问该屏幕，在系统托盘中的Ibus图符点击右键，选择"Preferences"（选项）即可。详见Configuration.

如果Ibus在Qt、KDE应用程序中不工作，保证ibus-qt软件库已安装，并在Qt设置编辑器中将Ibus制定为默认输入法引擎：

    $ qtconfig-qt4

在 "Interface" -> "Default Input Method" （译：“界面”->“默认输入法引擎”） 中,选择“ibus”,而不是"xim"。

### GNOME

GNOME现在已经默认集成了IBus， 所以只要安装你需要的输入法引擎就可以了。 To enable input in your language, add it to the Input Sources section of the Region & Language settings. After you add your input sources, GNOME will show the input switcher icon in the tray. The default keyboard shortcut to switch to the next input method in GNOME is `Super+space`; disregard the next input method shortcut set in ibus-setup.

## 配置

注意: 如果你想输入汉、日、韩、越南文字，需要安装东亚字体。

默认的"General"（常规）设置应该可以用，但是点击“Input Methods"(输入法）， 在键下拉式列表框中选择你的输入法之后，点击“Add"（添加）。 Ibus一配置好，就可以按Ctrl+Space使用（按多次为多语言转换）。在每个窗口当中，Ibus会记住你所用的输入法，所以每个窗口都需要重新启动。 你可以超驰这种行为。在系统托盘的图符上点击右键，选择“Preferences"(首选项）,然后点击“Advanced"(高级)的标签即可。

## 小贴士及技巧

### 使用拼音

当使用 ibus-pinyin时,

- 首先用拼音（无声调）打你想输入的字。
- 反复地按上和下选择一个字（如果有必要，启程前往下一页）
- 按Space使用一个字。
- 你也可以用上页和下页，并使用1-5的数字键选择你需要的字。
- 你可以一次输入组成一个词或一条短语的若干字（如"zhongwen"可以输入"中文"). ibus-pinyin会记住你最经常打的字，并渐渐做适合你的打字配置文件的建议。

## 疑难解答

### Kimpanel

目前IBus的主界面只支持GTK，Kimpanel 提供了原生的 Qt/KDE 输入界面。 但是，目前kimpanel在Arch Linux环境下因并不能很好的工作（部分原因是FS#19580），因此需要额外地配置一下。

安装Kimpanel:

    # pacman -S kdeplasma-addons-applets-kimpanel

下载和你的KDE版本对应的 kdeplasma-addons 的源文件，并解压缩。

    $ wget -c http://download.kde.org/stable/4.x.x/src/kdeplasma-addons-4.x.x.tar.bz2
    $ tar -xvf kdeplasma-addons-4.x.x.tar.bz2

拷贝系统里没有的文件:

    # mkdir /usr/share/ibus/ui/qt
    # cp kdeplasma-addons-4.x.x/applets/kimpanel/backend/ibus/panel.py /usr/share/ibus/ui/qt/panel.py
    # cp kdeplasma-addons-4.x.x/applets/kimpanel/backend/ibus/qtpanel.xml /usr/share/ibus/component/qtpanel.xml

编辑 `/usr/share/ibus/ui/qt/panel.py`:

    #!/usr/bin/env python2
    # vim:set et sts=4 sw=4:
    ...

编辑 `/usr/share/ibus/component/qtpanel.xml`:

    <?xml version=1.0 encoding=utf-8?>
    <!-- filename: qtpanel.xml -->
    <component>
        <name>org.freedesktop.IBus.Panel</name>
        <description>Qt Panel Component</description>
        <exec>/usr/lib/ibus/ibus-ui-qt</exec>
        <version>0.0.1</version>
        <author>Wang Hoi <zealot.hoi@gmail.com></author>
        <license>LGPL</license>
        <homepage></homepage>
        <textdomain>ibus</textdomain>
    </component>

拷贝 `/usr/lib/ibus/ibus-ui-gtk` 文件到 `/usr/lib/ibus/ibus-ui-qt` 并编辑:

    # cp /usr/lib/ibus/ibus-ui-gtk /usr/lib/ibus/ibus-ui-qt

    #!/bin/sh
    #
    # ibus - The Input Bus
    #
    # Copyright (c) 2007-2010 Peng Huang <shawn.p.huang@gmail.com>
    # Copyright (c) 2007-2010 Red Hat, Inc.
    #
    # This library is free software; you can redistribute it and/or
    # modify it under the terms of the GNU Lesser General Public
    # License as published by the Free Software Foundation; either
    # version 2 of the License, or (at your option) any later version.
    #
    # This library is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    # GNU Lesser General Public License for more details.
    #
    # You should have received a copy of the GNU Lesser General Public
    # License along with this program; if not, write to the
    # Free Software Foundation, Inc., 59 Temple Place, Suite 330,
    # Boston, MA  02111-1307  USA

    prefix=/usr
    exec_prefix=${prefix}
    datarootdir=${prefix}/share
    export IBUS_PREFIX=/usr
    export IBUS_DATAROOTDIR=${prefix}/share
    export IBUS_LOCALEDIR=${datarootdir}/locale

    exec python2 /usr/share/ibus/ui/qt/panel.py $@

最后，在你的任务栏上添加小工具 `Input Methode Panel` 并运行 `ibus-setup`:

    $ ibus-setup

### rxvt-unicode

如果有ibus与rxvt-unicode包的问题，以下的步骤应该将它解决好。

将以下的两行代码添加到你的.Xdefaults文件（可能不需要，先尝试，如果问题出现，再添加代码）：

      URxvt.inputMethod: ibus
      URxvt.preeditType: OnTheSpot,None

然后用以下的命令启动Ibus:

      ibus-daemon --xim

如果你自动地开始ibus-daemon（如在～/.xinitrc或~/.xsession中),但是以前用过没有'--xim'选项的'ibus-daemon &' 命令，先保证已经将已存在的流程杀掉，再尝试新命令。

### GTK 应用程序

有些用户在GTK应用程序下使用输入法时会因为无法找到gtk.immodules文件而出现问题。在$HOME/.bashrc中加入

     (gtk2) export GTK_IM_MODULE_FILE=/etc/gtk-2.0/gtk.immodules
     (gtk3) export GTK_IM_MODULE_FILE=/usr/lib/gtk-3.0/3.0.0/immodules.cache

应该会解决问题。

注意: 如果你设置为gtk2，那么你无法使用gtk3的应用程序比如gedit, 如果你设置为gtk3，那么你无法使用gtk2的应用程序比如xfce

### 中文输入

如果你在输入中文时遇到问题，检查你的 locale 设置。比如在香港，export LANG=zh_HK.utf8。

注意: ibus 在 1.4 版本后有些大的修正，你可能无法使用 ibus-pinyin 或 ibus-sunpinyin 输入中文。解决方法有：

- 安装 ibus-libpinyin。

你可以安装 ibus-libpinyin。

如需 ibus 随 gnome 启动，把这些加入 ~/.profile 后重启 gnome。

       export GTK_IM_MODULE=ibus
       export XMODIFIERS=@im=ibus
       export QT_IM_MODULE=ibus
       ibus-daemon -d -x

更详细的解决方案可以查看 这里。

### LibreOffice

如果 IBus 确实已经启动，但是在 LibreOffice 里没有出现输入窗口，你需要在 ~/.bashrc 里加入这行：

    export XMODIFIERS=@im=ibus

然后你需要用 "--xim -d" 参数来启动 ibus， 你可以在 ~/.xinitrc 中加入这行：

    ibus-daemon --xim -d

但是可怕的是你必须在终端中启动 LibreOffice。

如果你使用 KDE 而上面的方法没用，而你也不介意在 GTK2 模式下运行 LibreOffice，安装 "libreoffice-gnome" 然后在 ~/.xprofile 中添加此行：

    export OOO_FORCE_DESKTOP="gnome"

这会使 IBus 在 LibreOffice 正常使用，你也可以在任何地方启动 LibreOffice -- 而不只是在终端。

### 修改 Gnome-shell 中 ibus 候选框的字体和字号

很多人对 Gnome-shell 不能独立的设置 ibus 输入法的候选词字体和字号颇有微词，下面，介绍一种修改的办法。 首先，你需要安装一个 Gnome-Shell 主题，且激活它，然后你需要修改主题的 gnome-shell.css 文件。这个文件一般在目录 /usr/share/themes/主题名/gnome-shell/ 下。使用你喜欢的编辑器打开它，搜索 .candidate-popup-content 字段（如果没有就新建一个）：

    .candidate-popup-content {
    }

然后根据需要添加以下两行（添加后应该是下框中的样子），通过本设置可以改变输入的字母的字体和字号：

    .candidate-popup-content {
           /* 设置字体 */
    	font-family: "Microsoft YaHei UI", serif,cantarell,sans-serif;
           /* 设置号 */
    	font-size: 15px;
    }

如果需要修改候选框的字体和字号，你需要搜索 .candidate-box 字段（如果没有就新建一个）：

    .candidate-box {
    }

然后根据需要添加以下两行（添加后应该是下框中的样子），通过本设置可以改变输入的字母的字体和字号：

    .candidate-box {
           /* 设置字体 */
    	font-family: "Microsoft YaHei UI", serif,cantarell,sans-serif;
           /* 设置号 */
    	font-size: 15px;
    }

Categories:

- Internationalization (简体中文)
- 简体中文