To avoid this issue in non-GTK/QT apps on Linux, I launch the ibus daemon as follows:
env IBUS_ENABLE_SYNC_MODE=0 ibus-daemon -rdx
You can read an explanation of the ibus-daemon option flags in a previous post from my blog.
Brandon Schaefer @ Canonical, explains why this error occurs:
The problem seems to be that when IBUS_ENABLE_SYNC_MODE is enabled it pushes all the events through the im engine (such as ibus-hangul) and since it normally only handles Korean text it doesn't know what to do when, say a space is sent through, so it says it didn't handle that space event which then IBus handles it and commits that space BEFORE the preedit.
In addition, my .bashrc contains the following ibus settings:
##### ibus IME settings #####
ECORE_IMF_MODULE setting is for Enlightenment apps like Terminology terminal.
Once the ibus environment variables are properly set and ibus-daemon is launched with the appropriate options, you will be able to enter Korean and other Asian text into non-QT/GTK apps with ibus.