IBus (简体中文) - ArchWiki

# 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， 所以只要安装你需要的输入法引擎并在Region & Language 添加输入源. 默认切换输入法的快捷键是 `Super+space`; 你可以在终端输入

    $ ibus-setup

进入设置页面来修改.

## 配置

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

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

## 小贴士及技巧

### 使用拼音

当使用 ibus-pinyin时,

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

## 疑难解答

### Kimpanel

目前IBus的主界面只支持GTK，Kimpanel[broken link: package not found] 提供了原生的 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 (简体中文)
- 简体中文