IBus
zh-CN:IBus zh-TW:IBus Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end IBus ("Intelligent Input Bus") is an input method framework, a system for entering foreign characters. IBus functions similarly to Fcitx, SCIM and UIM.
Installation
Install the ibus package from the Official Repositories.
Additionally, to enable IBus for Qt applications, install the ibus-qt library.
Input Method Engines
You will need at least one input method, corresponding to the language you wish to type. Available input methods include:
- ibus-anthy: A Japanese IME, based on anthy.
- ibus-pinyin: An intelligent Chinese Phonetic IME for Hanyu pinyin and Zhuyin (Bopomofo) users. Designed by IBus main author and has many advance features such as English spell checking.
- ibus-rimeAUR: A powerful and smart Chinese input method for Chinese (pinyin, zhuyin, with or without tones, double pinyin, Jyutping, Wugniu, Cangjie5 and Wubi 86) (AUR)
- ibus-chewing: An intelligent Chinese Phonetic IME for Zhuyin (Bopomofo) users, based on libchewing.
- ibus-hangul: A Korean IME, based on libhangul.
- ibus-unikey: An IME for typing Vietnamese characters.
- ibus-table: An IME that accommodates table-based IMs.
- ibus-m17n: A m17n IME which allows input of many languages using the input methods from m17n-db.
- ibus-keymagic: A complex smart input method, designed to work with all kind of languages by using keyboard layouts(km2) generated by layout script(kms).
To see all available input methods:
$ pacman -Ss ^ibus-*
Others packages are also available in the AUR.
Initial Setup
Now, run ibus-setup (as the user who will use IBus):
$ ibus-setup
It will start the daemon and give you this message:
IBus has been started! If you cannot use IBus, please add below lines in $HOME/.bashrc, and relogin your desktop. export GTK_IM_MODULE=ibus export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus
You will then see a configuration screen; you can access this screen whenever IBus is running by right-clicking the icon in the system tray and choosing "Preferences". See Configuration.
If IBus doesn't work in Qt/KDE applications, ensure that the ibus-qt library is installed and define IBus as the default IME in the Qt configuration editor:
$ qtconfig
In "Interface" -> "Default Input Method", select ibus
instead of xim
.
Configuration
Ibus
The default "General" settings should be fine, but go to "Input Methods" and select your input method(s) in the drop down box, then press "Add". You can use multiple input methods if you wish. Once IBus is set up, you can press Ctrl+Space to use it (multiple times to cycle through available input methods). IBus will remember which input method you are using in each window, so you will have to reactivate it for each new window. You can override this behavior by right clicking the system tray icon, selecting "Preferences", and going to the "Advanced" tab.
Ibus-rime
Installation
If you have decided to use the great ibus-rime IME, here are some help to install it and to configure it.
First, you should install it from AUR : ibus-rimeAUR. Use your favorite package wrapper or use the official way with makepkg.
In order to work, Rime is based on schemas that should be edited by the user. However, it comes installed with a default pinyin input schema so you can use it as it.
Configuration
If you want it for another input method, here they are:
- Luna Pinyin (Standard Mandarin)
- Terra Pinyin (with tones)
- Bopomofo (Mandarin Phonetic Symbol)
- Double Pinyin (Ziranma, MSPY)
- Jyutping (Cantonese)
- Wugniu (Shanghainese)
- Cangjie5
- Wubi86
For example, if you want to be able to type pinyin with tones, you want to use the Terra Pinyin input method. To do so, you have to first create a directory:
$ mkdir ~/.ibus/rime
In this directory, create a file entitled default.custom.yaml
and add the following lines to it:
default.custom.yaml
patch: schema_list: - schema: terra_pinyin
Note that the indentation level is important. Your file says to Rime to replace the schema list with a list that only contains Terra Pinyin.
Eventually, if the changes aren't taken automatically, run:
rm ~/.config/ibus/rime/default.yaml && ibus-daemon -drx
Note: Tones are optionals but you can type them to filter the list very well. Here are how to type them:
1st tone: - 2nd tone: / 3rd tone: < 4th tone: \
Example: if one wants to type hǎo
to display only Chinese characters that are pronounced this way, one must type hao<
and it will be automatically converted to hǎo.
Usage
Rime provides some great features that allow you to write good Chinese and all its punctuation.
Basic configuration access
At any time, while running Rime, you can access some basic options with F4
. The displayed options look like this:
1. Method name 2. 中文 -› 西文 3. 全角 -› 半角 4. 漢字 -› 汉字 etc.
The first one indicate the name of the method you can select (Ex: 地球拼音 for Terra Pinyin). If you want many methods, you'll have them in this menu.
The second one lets you select which language you want to type in.
The third one lets you select if you want to type the punctuation in full width (全角) or in half width (半角).
The last one allows you to type in traditional Chinese (漢字) or in simplified Chinese (汉字).
Chinese punctuation
You can access to all the Chinese punctuation thanks to Rime. Here is a little table showing you how to type some of them:
[ -> 「 【 〔 [ ] -> 」 】 〕 ] { -> 『 〖 { } -> 』 〗 } < -> 《 〈 « ‹ > -> 》 〉 » › @ -> @ @ ☯ / -> / / ÷ * -> * * ・ × ※ % -> % % ° ℃ $ -> ¥ $ € £ ¥ | -> ・ | | § ¦ _ -> —— \ -> 、 \ \ ^ -> …… ~ -> 〜 ~ ~ 〰
Advanced
Rime allows you to change everything you can imagine and more examples are provided on the website of the project: (in Chinese) https://code.google.com/p/rimeime/wiki/CustomizationGuide
Tips and tricks
Pinyin usage
When using ibus-pinyin,
- First type the pinyin (sans tones) for the characters you wish to enter.
- Press Up and Down repeatedly to select a character (going on to the next page if necessary).
- Press Space to use a character.
- You can also use PageUp or PageDown to scroll pages, and use the number keys 1-5 to select the character you need.
- You can enter multiple characters that form a word or phrase at a time (such as "zhongwen" to enter "中文"). ibus-pinyin will remember which characters you type most frequently and over time make suggestions that are more tuned to your typing profile.
Troubleshooting
Kimpanel
IBus main interface is currently only available in GTK, but Kimpanel provides a native Qt/KDE input interface. Since kdeplasma-addons-applets-kimpanel version 4.7.95-3, the package is compiled to support ibus. However, ibus needs to be launched as following to be able to communicate with the panel:
$ ibus-daemon --xim --panel=/usr/lib/kde4/libexec/kimpanel-ibus-panel
To get a menu entry for launching ibus this way, save the following file to ~/.local/share/applications/ibus-kimpanel.desktop
[Desktop Entry] Encoding=UTF-8 Name=IBus (KIMPanel) Name[ar]=IBus (KIMPanel) Name[as]=IBus (KIMPanel) Name[bn_IN]=IBus (KIMPanel) Name[ca]=IBus (KIMPanel) Name[da]=IBus (KIMPanel) Name[de]=IBus (KIMPanel) Name[en_GB]=IBus (KIMPanel) Name[es]=IBus (KIMPanel) Name[fr]=IBus (KIMPanel) Name[gu]=IBus (KIMPanel) Name[hi]=IBus (KIMPanel) Name[hu]=IBus (KIMPanel) Name[it]=IBus (KIMPanel) Name[ja]=IBus (KIMPanel) Name[kn]=IBus (KIMPanel) Name[ko]=IBus (KIMPanel) Name[ml]=IBus (KIMPanel) Name[mr]=IBus (KIMPanel) Name[nl]=IBus (KIMPanel) Name[or]=IBus (KIMPanel) Name[pa]=IBus (KIMPanel) Name[pl]=iBus (KIMPanel) Name[pt_BR]=IBus (KIMPanel) Name[ru]=IBus (KIMPanel) Name[sr]=IBus (KIMPanel) Name[sr@latin]=IBus (KIMPanel) Name[ta]=IBus (KIMPanel) Name[te]=IBus (KIMPanel) Name[uk]=IBus (KIMPanel) Name[vi]=IBus (KIMPanel) Name[zh_CN]=IBus (KIMPanel) Name[zh_HK]=IBus (KIMPanel) Name[zh_TW]=IBus (KIMPanel) GenericName=Input Method Framework GenericName[as]=ইনপুট পদ্ধতি গাথনি GenericName[bn_IN]=ইনপুট পদ্ধতির পরিকাঠামো GenericName[da]=Framework for inputmetode GenericName[de]=Eingabemethode-Framework GenericName[en_GB]=Input Method Framework GenericName[es]=Marco de trabajo para métodos de entrada GenericName[fr]=Framework de méthode de saisie GenericName[gu]=ઇનપુટ પદ્દતિ ફ્રેમવર્ક GenericName[hi]=IBus विधि फ्रेमवर्क GenericName[it]=Framework del metodo di input GenericName[ja]=インプットメソッドフレームワーク GenericName[kn]=IBus ವಿಧಾನದ ಫ್ರೇಮ್ವರ್ಕ್ GenericName[ko]=입력 방식 프레임워크 GenericName[ml]=ഇന്പുട്ട് മെഥേഡ് ആകൃതി GenericName[mr]=इन्पुट पद्धत फ्रेमवर्क GenericName[nl]=Invoer methode kader GenericName[or]=ନିବେଶ ପ୍ରଣାଳୀ ଫ୍ରେମୱର୍କ GenericName[pa]=ਇੰਪੁੱਟ ਢੰਗ ਫਰੇਮਵਰਕ GenericName[pl]=Struktura metody wprowadzania GenericName[pt_BR]=Framework do método de entrada GenericName[ru]=Система методов ввода GenericName[ta]=உள்ளீடு முறை ஃபிரேம்வொர்க் GenericName[te]=ఇన్పుట్ పద్ధతి ఫ్రేమ్వర్క్ GenericName[uk]=Оболонка способів введення GenericName[zh_CN]=输入法框架 GenericName[zh_TW]=輸入法框架 Comment=Start IBus Input Method Framework Comment[as]=IBus ইনপুট পদ্ধতি গাথনি আৰম্ভ কৰা Comment[bn_IN]=IBus ইনপুট পদ্ধতির পরিকাঠামো আরম্ভ করা হবে Comment[da]=Start IBus, framework for inputmetode Comment[de]=IBus-Eingabemethode-Framework starten Comment[en_GB]=Start IBus Input Method Framework Comment[es]=Inicie el marco de trabajo para métodos de entrada IBus Comment[fr]=Démarrer le framework de méthode de saisie IBus Comment[gu]=IBus ઇનપુટ પદ્દતિ ફ્રેમવર્કને શરૂ કરો Comment[hi]=IBus इनपुट विधि फ्रेमवर्क आरंभ करें Comment[it]=Avvia il framework del metodo di input di IBus Comment[ja]=IBus インプットメソッドフレームワークを起動 Comment[kn]=IBus ಇನ್ಪುಟ್ ವಿಧಾನದ ಫ್ರೇಮ್ವರ್ಕ್ ಅನ್ನು ಆರಂಭಿಸು Comment[ko]=IBus 입력 방식 프레임워크 시작 Comment[ml]=IBus ഇന്പുട്ട് മെഥേഡ് ആകൃതി ആരംഭിയ്ക്കുക Comment[mr]=IBus इन्पुट पद्धती फ्रेमवर्क सुरू करा Comment[nl]=Start IBus invoer methode kader Comment[or]=IBus ନିବେଶ ପ୍ରଣାଳୀ ଫ୍ରେମୱର୍କକୁ ଆରମ୍ଭ କରନ୍ତୁ Comment[pa]=ਆਈਬਸ ਇੰਪੁੱਟ ਢੰਗ ਫਰੇਮਵਰਕ ਸ਼ੁਰੂ ਕਰੋ Comment[pl]=Uruchomienie struktury metody wprowadzania iBus Comment[pt_BR]=Iniciar Framework do método de entrada IBus Comment[ru]=Запустить систему методов ввода IBus Comment[ta]=IBus உள்ளீடு முறை ஃபிரேம்வொர்க்கை துவக்கு Comment[te]=IBus ఇన్పుట్ పద్ధతి ఫ్రేమ్వర్కును ప్రారంభించుము Comment[uk]=Запуск оболонки способів введення IBus Comment[zh_CN]=启动IBus 输入法框架 Comment[zh_TW]=啟動 IBus 輸入法框架 Exec=ibus-daemon --xim --panel=/usr/lib/kde4/libexec/kimpanel-ibus-panel Icon=ibus Terminal=false Type=Application Categories=System;Utility; X-GNOME-Autostart-Phase=Applications X-GNOME-AutoRestart=false X-GNOME-Autostart-Notify=true X-KDE-autostart-after=panel
Then you can either let KDE autostart ibus, or set it as the input method application in Kimpanel, and manually click on the kimpanel icon to start it. In either case, choose Utility/Ibus (Kimpanel) in the Choose Application dialog.
rxvt-unicode
If anyone has any issues with iBus and rxvt-unicode, the following steps should solve it.
Add the following to your .Xdefaults (possibly not required -- try first without):
URxvt.inputMethod: ibus URxvt.preeditType: OverTheSpot
And start ibus with:
ibus-daemon --xim
If you start ibus-daemon automatically (e.g. in ~/.xinitrc or ~/.xsession) but used to use `ibus-daemon &' without the `--xim' option, make sure to kill the existing process before testing the new command.
GTK applications
Some users have had problems using Input Methods with GTK applications, because it seems that the gtk.immodules file can't be found. Adding
(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
in addition to the three lines above in your $HOME/.bashrc seems to fix the problem.
Chinese Input
If you encounter problems when using chinese input, check your locale settting. For example in Hong Kong, export LANG=zh_HK.utf8.
- Recompile ibus-sunpinyin in ABS by yourself. or
- Install ibus-googlepinyin, which is developed in python.
You can install ibus-googlepinyinAUR from the AUR.
To start ibus with gnome, add this in ~/.profile and restart the gnome.
export GTK_IM_MODULE=ibus export XMODIFIERS=@im=ibus export QT_IM_MODULE=ibus ibus-daemon -d -x
Chinese users can refer to this page for detailed solution concerning this bug.
LibreOffice
If IBus does load but doesn't see LibreOffice as an input window, add this line to ~/.bashrc:
export XMODIFIERS=@im=ibus
And then, you need to start ibus with "--xim -d", for example, add this line to ~/.xinitrc:
ibus-daemon --xim -d
But the horrible thing is that you need to start LibreOffice in terminal.
If you're using KDE and the above doesn't work, install "libreoffice-gnome" and add this line to ~/.xprofile if you don't mind running LibreOffice in GTK2 mode:
export OOO_FORCE_DESKTOP="gnome"
That'll make IBus work with LibreOffice, and you can start LibreOffice from anywhere -- not just the terminal.