IBus (简体中文) - ArchWiki

Jump to content

# IBus (简体中文)

From ArchWiki

相关文章

- Fcitx (简体中文)
- Fcitx5 (简体中文)
- SCIM
- UIM

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

## 安装

安装 ibus 软件包。

### 输入法引擎

至少需要一种与所用语言相应的输入法。可用的输入法包括：

#### 中文引擎

- ibus-pinyin：一个智能中文语音输入法引擎，支持汉语拼音与注音符号。设计者为 Ibus 的主要作者，而且有许多的高级功能（如英文拼错修改）。
- ibus-libpinyin：一个强大的智能中文语音输入引擎，基于 libpinyin，提供了比 ibus-pinyin 更强大的功能，支持动态调整字频、云输入，可以添加用户词典
- ibus-rime：一个强大的智能中文输入法，支持拼音、注音或者没有音调的拼音、双拼、粤拼、中州韵、仓颉和五笔 86。
- ibus-chewing：一个智能中文语音输入法引擎，支持注音符号，基于 libchewing。

#### 日文引擎

- ibus-anthy：日文输入法引擎，基于 anthy。
- ibus-mozcAUR：谷歌日文输入法的开源版本，基于 Mozc。
- ibus-kkc：日文输入法引擎，基于 libkkc。
- ibus-skk：日文假名转汉字输入法引擎，基于 libskk。

#### 越南文引擎

- ibus-bambooAUR：越南文输入法引擎，基于 Bamboo 引擎。
- ibus-bogoAUR：越南文输入法引擎，基于 Bogo。（已停止开发）
- ibus-unikey：用于输入越南字的输入法引擎。（已停止开发）

#### 其他引擎

- ibus-hangul：一个韩文输入法，基于 libhangul。
- ibus-table：一个支持查表型输入法的输入法引擎。
- ibus-m17n：一个 m17n 输入法引擎，可以用 m17n-db 数据库中的输入法来输入许多语言。

查看所有可用的输入法：

    $ 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 使用一个后台程序，但是它不是被 systemd 管理的那种后台程序：普通用户也可以运行，当你登录时，它会启动。
注意： 但是，如果 ibus 尚未启动，先将那些"export"的代码复制到$HOME/.xprofile，并将这行代码加到该文件："ibus-daemon -x -d",再重新登录。

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

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

    $ qtconfig-qt4

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

### GNOME

GNOME 默认使用 IBus， 所以你只需要安装你需要的输入法引擎（但是 ibus 必须安装），并打开设置界面，通过“键盘”中的“输入源”添加。在你添加至少两个输入源后，GNOME 会在托盘中显示输入选择图标。如果如此操作之后你没有成功，很可能你没有完成 locale-gen。默认切换输入法的快捷键是 `Super+Space`; 请忽视 ibus-setup 中的添加方法，这不会真的添加新的输入法，且 ibus-setup 中的配置不会对输入法生效。下面是一个安装输入法的例子：

    $ pacman -S ibus
    $ pacman -S ibus-libpinyin

ibus-libpinyin 是一款优秀的智能中文语音输入法，提供了丰富的功能。

## 配置

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

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

注意： IBus 默认覆盖 Xmodmap 的设置。你可以禁用这个特性，在 "references"（首选项）中点击 "Advanced"（高级），勾选 "Use system keyboard layout" 选项。

## 疑难解答

### rxvt-unicode

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

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

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

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

      ibus-daemon --xim

如果 ibus-daemon 自动开启（如在 `~/.xinitrc` 或 `~/.xsession` 中)，但是以前执行 `ibus-daemon &` 没有用 `--xim` 选项，确保先结束已打开的进程，再尝试新命令。

### 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 随 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;
    }

### 开启单行模式

如果你使用 ibus-libpinyin 的话，可以在其设置界面中的“外观”——“显示风格”这一项选择“紧凑”，以此来开启单行模式。

注：ibus-libpinyin 在输入源和系统托盘中显示为“中文（智能拼音）”。

Category:

- Input methods (简体中文)