IBus
IBus ("Intelligent Input Bus") 是一個輸入法框架,允許用戶便捷地在不同的鍵盤布局中切換。當IBus框架和特定的輸入法結合使用時,你就可以使用你的鍵盤輸入鍵盤本身所不支持的非拉丁字母。(譯者註:即在ArchLinux——其他Linux也類似,輸入法需要和一個框架搭配使用,IBus就起到這個框架的作用)
安裝
安裝 ibus包 軟體包。
輸入法引擎
至少需要一種與所用語言相應的輸入法。您可以在輸入法#輸入法列表查看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。
環境適配
請按照如下示例設置環境變量
/etc/environment
GTK_IM_MODULE=ibus QT_IM_MODULE=ibus XMODIFIERS=@im=ibus
如果你希望當你登錄時,IBus就啟動,請使用以下命令創建一個自動啟動條目:
ibus-daemon -rxRd
這樣,下次登錄時,IBus就會隨著用戶會話而自動啟動
-
ibus-daemonAUR軟體包提供了一個服務
ibus@$DISPLAY.service,可以啟用它來達到這個目的 -
KDE提供了一個Plasm形式的輸入面板,可以作為IBus的前端,以提供更好的輸入體驗
- 欲啟動有輸入面板的IBus,請在ibus-daemon命令中加入
--panel=/usr/lib/kimpanel-ibus-panel選項。(如果面板沒有出現,你還可以嘗試用--desktop=kde選項。要配置*輸入面板*的寬度,請參見KDE UserBase Wiki和KDE#Widgets - ibus-autostart-kimpanelAUR軟體包提供了一個可以自啟動該功能的自動啟動條目
- 欲啟動有輸入面板的IBus,請在ibus-daemon命令中加入
配置
你可能需要先設置系統的語言環境,請:
GNOME
GNOME默認使用IBus,因此你只需簡單地打開設置>鍵盤>輸入源並添加你所使用的鍵盤布局即可。
一些非拉丁語言(如簡體中文)需要在GNOME Tweaks中啟用顯示拓展輸入源選項
其他桌面環境
要啟動IBus偏好設置窗口,你可以執行以下任一操作:
- 右鍵IBus的托盤圖標,選擇偏好;
- 找到並啟動IBus偏好設置的圖形化應用程式;
- 在終端中運行命令
ibus-setup
在這個窗口,主要有兩個重要的功能:一是下一個輸入法的快捷鍵(建議你設置這個選項,來替代你的桌面環境所提供的快捷鍵);二是輸入法頁面,你可以在這裡添加或者刪除不同的鍵盤布局(建議你在此處操作,而不是在桌面環境所默認提供鍵盤布局管理器操作)
使用提示和技巧
moji 輸入
IBus支持Emoji表情符號的輸入。按下快捷鍵Super+.即可看到輸入模式變為一個下劃線e字符。接下來你可以輸入符號或emoji的名稱(例如:)或face))並敲擊Space鍵(空格鍵)渲染該符號。如果你對該結果表示滿意,你可以按下回車來輸入該符號並推出Emoji輸入模式。或者你也可以再次按下空格鍵,來打開一個對話框,以便於你進一步選擇你需要的符號。
Unicode輸入
IBus支持輸入複雜的Unicode字符。使用快捷鍵Ctrl+Shift+u即可看到輸入模式變為一個下劃線u字符。你可以輸入Unicode代碼並按Space 或 Enter 來渲染並輸入該字符
托盤圖標顏色
IBus默認使用藍色來顯示當前正活躍的鍵盤布局(如EN)這個顏色值存儲在gestting schema中,因此如果你希望修改他,請執行如下命令:
$ gsettings set org.freedesktop.ibus.panel xkb-icon-rgba 'COLOR'
其中,'COLOR'是字符串形式,遵循如下要求:
是一個RGBA值,即:
- 一個X11中的顏色名稱
- 一個十六進制數值,如'#rrggbb',r,g,b分別是紅、綠、藍的十六進制數
- 一個如下格式的RGB數值:'rgb(r,g,b)'
- 一個RGBA顏色,應該如下格式:'rgba(r,g,b,a)',其中r,g,b都是[0,255]範圍內的數值或[0%,100%]範圍內的百分數,而a是[0,1]範圍內的浮點數,以表示透明度
疑難解答
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
應該會解決問題。
中文輸入
如果你在輸入中文時遇到問題,檢查你的 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 在輸入源和系統托盤中顯示為「中文(智能拼音)」。