IBus

出自 Arch Linux 中文维基

這篇文章或章節的翻譯不反映原文。

原因:Looks nothing like the structure of the English page.(在 Talk:IBus# 中討論)

IBus ("Intelligent Input Bus") 是一個輸入法框架,一個輸入非英語字符的系統。IBus 的功能與 SCIMUim 類似。

安裝[編輯 | 編輯原始碼]

安裝 ibus 軟件包。

輸入法引擎[編輯 | 編輯原始碼]

至少需要一種與所用語言相應的輸入法。可用的輸入法包括:

中文引擎[編輯 | 編輯原始碼]

  • ibus-pinyin:一個智能中文輸入法引擎,支持漢語拼音與注音符號。設計者為 Ibus 的主要作者,而且有許多的高級功能(如英文拼錯修改)。
  • ibus-libpinyin:一個強大的智能中文輸入引擎,基於 libpinyin,提供了比 ibus-pinyin 更強大的功能,支持動態調整字頻、雲輸入,可以添加用戶詞典
  • ibus-rime:一個強大的智能中文輸入法,支持拼音、注音或者沒有音調的拼音、雙拼、粵拼、中州韻、倉頡和五筆 86。
  • ibus-chewing:一個智能中文輸入法引擎,支持注音符號,基於 libchewing

日文引擎[編輯 | 編輯原始碼]

越南文引擎[編輯 | 編輯原始碼]

  • 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

更詳細的解決方案可以查看 這裏

在 gnome桌面 wayland 環境下,可能會出現部分軟件無法切換中文輸入,例如 QQ 等,需要安裝Input Method Panel[1]這個 gnome-shell擴展解決.

如果安裝的輸入法無法調整候選詞方向等,可以嘗試IBus Tweaker[2]進行調整

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 在輸入源和系統托盤中顯示為「中文(智能拼音)」。