shyk 写了:为什么安装好compiz-fusion后scim输入法无法调出
在未安装或卸载compiz后,scim输入法均可用ctrl+space调出;一但安装compiz后,就不能调出了。
我跟踪了一下,输入是由Xsession通过脚本执行的方式调出的,具体过程是这样的
1. GDM登录窗口在通过用户/密码验证后会执行/etc/X11/Xsession 脚本
2. /etc/X11/Xsession会顺序执行 /etc/X11/Xsession.d目录中的脚本文件
3. 在Ubuntu 中输入法的启动脚本为 /etc/X11/Xsession.d/80im-switch
在80im-switch中有去读取$HOME/.xinput.d/zh_CN输入法配置文件,实际上该文件是符合链接
如果首选fcitx,即指向 /etc/X11/xinit/xinput.d/fcitx
如果首选scim,即指向 /etc/X11/xinit/xinput.d/scim
不管如何,输入法依赖于3个关键环境变量
* XIM_PROGRAM
* GTK_IM_MODULE
* QT_IM_MODULE
一般来说,输入法的启动都采用fcitx -d或者scim -d,后台服务进程的方式.
到此,80im-switch执行完毕,输入法也就可以了.
但是问题在于启用compiz的条件下,scim可以按照上述方式启动成功,fcitx却不行. 怀疑问题出在fcitx与compiz fusion的兼容性方面,我通过Xsession的Log文件 $HOME/.xsession-errors,没有看出什一起继续么,原因有待继续分析.
目前,我要在compiz下使用fcitx,也是8楼的做法,在系统->首选项->会话中加入fcitx -d的手工命令解决的:)