When "/desktop/ibus/general/preload_engines" gconf setting is not available, ibus-daemon calls setlocale(LC_ALL, NULL); to query a locale setting of a user, and then determines which input method engine should be loaded based on the locale setting. https://github.com/ibus/ibus/tree/1.3.y#L354
Until Ubuntu 10.10, the setlocale function used to return a simple value like "ja_JP.UTF-8", but on 11.04 alpha 2, the function seems to return a looong string like "LC_CTYPE=ja_JP.UTF-8;LC_NUMERIC=ja_JP.UTF-8;LC_TIME=ja_JP.UTF-8;LC_COLLATE=ja_JP.UTF-8;LC_MONETARY=ja_JP.UTF-8;LC_MESSAGES=ja_JP.utf8;LC_PAPER=ja_JP.UTF-8;LC_NAME=ja_JP.UTF-8;LC_ADDRESS=ja_JP.UTF-8;LC_TELEPHONE=ja_JP.UTF-8;LC_MEASUREMENT=ja_JP.UTF-8;LC_IDENTIFICATION=ja_JP.UTF-8" which ibus-daemon is not able to parse.
For now, changing the 'lang = g_strdup (setlocale (LC_ALL, NULL));' line in ibus-1.3.9/bus/ibusimpl.c to 'lang = g_strdup (setlocale (LC_MESSAGES, NULL));' should fix the problem.
When "/desktop/ ibus/general/ preload_ engines" gconf setting is not available, ibus-daemon calls setlocale(LC_ALL, NULL); to query a locale setting of a user, and then determines which input method engine should be loaded based on the locale setting. /github. com/ibus/ ibus/tree/ 1.3.y#L354
https:/
Until Ubuntu 10.10, the setlocale function used to return a simple value like "ja_JP.UTF-8", but on 11.04 alpha 2, the function seems to return a looong string like "LC_CTYPE= ja_JP.UTF- 8;LC_NUMERIC= ja_JP.UTF- 8;LC_TIME= ja_JP.UTF- 8;LC_COLLATE= ja_JP.UTF- 8;LC_MONETARY= ja_JP.UTF- 8;LC_MESSAGES= ja_JP.utf8; LC_PAPER= ja_JP.UTF- 8;LC_NAME= ja_JP.UTF- 8;LC_ADDRESS= ja_JP.UTF- 8;LC_TELEPHONE= ja_JP.UTF- 8;LC_MEASUREMEN T=ja_JP. UTF-8;LC_ IDENTIFICATION= ja_JP.UTF- 8" which ibus-daemon is not able to parse.
For now, changing the 'lang = g_strdup (setlocale (LC_ALL, NULL));' line in ibus-1. 3.9/bus/ ibusimpl. c to 'lang = g_strdup (setlocale (LC_MESSAGES, NULL));' should fix the problem.