By default, input method service (either iiim or scim) would be started on any UTF-8 locale, and the disabling function iiim-properties(1) would not stop the starting of iiim services, but only disable the client communications. To completely disable the IM services, you could either hack the /etc/iiim/xsession script to not start iiim daemons on en_*.UTF-8 locales, or a lighter way is to add following lines to your $HOME/.profile,

$ cat ~/.profile
GTK_IM_MODULE=gtk-im-context-simple
export GTK_IM_MODULE


While the legacy XIM clients (like Java apps) would be impacted badly, you need to edit the /usr/X11/share/X11/locale/en_US.UTF-8/XI18N_OBJS file, and comment out all the XIM entries with _XimpLocalOpenIM (as the XOpenIM(3X11) entry point).
评论:

This creates a number of problems for Java programs with Swing GUIs, as dialogs will have IM windows attached to them, and sometimes even if you close the dialog, the IM box is still there, and when you click on it, jvm crash dumps...

发表于 Guest 在 2008年11月19日, 10:28 下午 CST #

Yeah, you're right, the legacy XIM clients would be impacted badly, you may edit /usr/X11/share/X11/locale/en_US.UTF-8/XI18N_OBJS, and comment out all XIM entries.

发表于 Yong Sun 在 2008年11月19日, 10:55 下午 CST #

Oops, you only need to comment out the the XIM entries with _XimpLocalOpenIM (as the XOpenIM(3X11) entry point).

发表于 Yong Sun 在 2008年11月19日, 11:10 下午 CST #

Wow, cool, thanks, that fixed it ;) Maybe it should be commented out by default ?

发表于 Guest 在 2008年11月20日, 01:43 上午 CST #

If I install SCIM and include the following commands in my $HOME/.profile :

export GTK_IM_MODULE=scim
export XMODIFIERS=@im=SCIM

do I have IIIM disabled? Thanks.

发表于 W. Wayne Liauh 在 2008年11月20日, 03:33 下午 CST #

hi, Wayne, yes, that will disable iiim, and enable scim.

发表于 Yong Sun 在 2008年11月20日, 04:44 下午 CST #

The cool thing is that with iiim disabled (from gnome sessions as well as via .profile) gnome starts considerably faster for me

发表于 Guest 在 2008年11月20日, 09:19 下午 CST #

Here are the time consumed (in seconds) of gnome-session starting up with different input method module selected, the first column is for the 1st login, and the 2nd column is for re-logins

scim: 25.7 4.6
iiimf: 25.9 4.9
simple: 21.0 3.2

It appears that iiimf/scim takes about 5 more seconds in the 1st starting, and 2 more seconds for re-logins, than without any IM selected. And my iiimf gtk-im-module is a debug version thought. And the reason of why first login is slow, is probably that the system is loading and dynamic linking the executables and libraries, and starting some necessary services that only need to be launched in the 1st login, like gconf.

发表于 Yong Sun 在 2008年11月21日, 07:19 下午 CST #

Also, how do you add an input method engine from, say SXCE, to OpenSolaris?

发表于 W. Wayne Liauh 在 2008年11月22日, 02:15 上午 CST #

Wayne, I think you meant the language engine for IIIMF, you could run $ pkgchk -lp /path/to/your/engine, to get the package name, then copy the package to your opensolaris box, and use pkgadd(1) to add it to your system.

Actually, simply copying the installed bits to opensolaris should also work, the language engines are located in /usr/lib/iiim/le, and for cle/twle, the input methods and related data files are in /usr/lib/iiim/le/cle/input_methods.

发表于 Yong Sun 在 2008年11月22日, 09:49 上午 CST #

发表一条评论:
该日志评论功能被禁用了。

This blog copyright 2009 by yongsun