跳至內容

IBus

出自 Arch Linux 中文维基

這篇文章或章節的翻譯質量不佳。

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

IBus ("Intelligent Input Bus") 是一個輸入法框架,允許用戶便捷地在不同的鍵盤布局中切換。當IBus框架和特定的輸入法結合使用時,你就可以使用你的鍵盤輸入鍵盤本身所不支持的非拉丁字母。(譯者註:即在ArchLinux——其他Linux也類似,輸入法需要和一個框架搭配使用,IBus就起到這個框架的作用)

安裝

安裝 ibus 軟體包。

注意:GNOME自從3.6版本以來,就集成了IBus,並默認使用。所以如果你使用3.6版本以上的GNOME作為你的桌面環境,你可以跳過這一步。

輸入法引擎

至少需要一種與所用語言相應的輸入法。您可以在輸入法#輸入法列表查看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

環境適配

請按照如下示例設置環境變量

/etc/environment
GTK_IM_MODULE=ibus
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus

如果你希望當你登錄時,IBus就啟動,請使用以下命令創建一個自動啟動條目:

 ibus-daemon -rxRd

這樣,下次登錄時,IBus就會隨著用戶會話而自動啟動

提示:* ibus-autostartAUR 軟體包提供了一個自動啟動 條目來自動啟動該服務
  • ibus-daemonAUR軟體包提供了一個服務ibus@$DISPLAY.service,可以啟用它來達到這個目的
  • KDE提供了一個Plasm形式的輸入面板,可以作為IBus的前端,以提供更好的輸入體驗
    • 欲啟動有輸入面板的IBus,請在ibus-daemon命令中加入 --panel=/usr/lib/kimpanel-ibus-panel選項。(如果面板沒有出現,你還可以嘗試用--desktop=kde選項。要配置*輸入面板*的寬度,請參見KDE UserBase WikiKDE#Widgets
    • ibus-autostart-kimpanelAUR軟體包提供了一個可以自啟動該功能的自動啟動條目
譯者註:KDE#Widgets這一章節由於KDE翻譯的過時,無法連結到最新的中文章節,遂在此連結了原文Wiki的連結。如翻譯有所跟進,請隨時修改。

配置

你可能需要先設置系統的語言環境,請:

  1. 參見Locale來獲取關於在系統中安裝非拉丁文字體的幫助
  2. 參見字體#非拉丁文字獲取可用的非拉丁字體的不完全列表

GNOME

GNOME默認使用IBus,因此你只需簡單地打開設置>鍵盤>輸入源並添加你所使用的鍵盤布局即可。

一些非拉丁語言(如簡體中文)需要在GNOME Tweaks中啟用顯示拓展輸入源選項

其他桌面環境

提示:對於Wayland環境,請參見WaylandDesktop

要啟動IBus偏好設置窗口,你可以執行以下任一操作:

  • 右鍵IBus的托盤圖標,選擇偏好
  • 找到並啟動IBus偏好設置的圖形化應用程式;
  • 在終端中運行命令ibus-setup

在這個窗口,主要有兩個重要的功能:一是下一個輸入法的快捷鍵(建議你設置這個選項,來替代你的桌面環境所提供的快捷鍵);二是輸入法頁面,你可以在這裡添加或者刪除不同的鍵盤布局(建議你在此處操作,而不是在桌面環境所默認提供鍵盤布局管理器操作)

使用提示和技巧

moji 輸入

IBus支持Emoji表情符號的輸入。按下快捷鍵Super+.即可看到輸入模式變為一個下劃線e字符。接下來你可以輸入符號或emoji的名稱(例如:)face))並敲擊Space鍵(空格鍵)渲染該符號。如果你對該結果表示滿意,你可以按下回車來輸入該符號並推出Emoji輸入模式。或者你也可以再次按下空格鍵,來打開一個對話框,以便於你進一步選擇你需要的符號。

Unicode輸入

IBus支持輸入複雜的Unicode字符。使用快捷鍵Ctrl+Shift+u即可看到輸入模式變為一個下劃線u字符。你可以輸入Unicode代碼並按SpaceEnter 來渲染並輸入該字符

托盤圖標顏色

IBus默認使用藍色來顯示當前正活躍的鍵盤布局(如EN)這個顏色值存儲在gestting schema中,因此如果你希望修改他,請執行如下命令:

$ gsettings set org.freedesktop.ibus.panel xkb-icon-rgba 'COLOR'

其中,'COLOR'是字符串形式,遵循如下要求:

是一個RGBA值,即:

  1. 一個X11中的顏色名稱
  2. 一個十六進制數值,如'#rrggbb',r,g,b分別是紅、綠、藍的十六進制數
  3. 一個如下格式的RGB數值:'rgb(r,g,b)'
  4. 一個RGBA顏色,應該如下格式:'rgba(r,g,b,a)',其中r,g,b都是[0,255]範圍內的數值或[0%,100%]範圍內的百分數,而a是[0,1]範圍內的浮點數,以表示透明度
提示:你也可以使用dconf-editor來以一種更友好的方式修改設置模式(gsettings schema)
注意:這不適用於 GNOME 或存在KDE輸入法面板的 KDE,因為它們都為 IBus 提供了自己的圖標。

疑難解答

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 擴展中心提供了一些擴展來修改 ibus 界面,例如 Customize iBus,用戶可以在圖形界面中修改 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 在輸入源和系統托盤中顯示為「中文(智能拼音)」。