LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1101|回复: 7

scim影响其他程序的启动?

[复制链接]
发表于 2008-6-4 13:05:08 | 显示全部楼层 |阅读模式
我的系统自动装了scim,但是在打开程序之前都要先等scim启动后程序才启动。如打开一个terminal都要花10多秒。有什么办法能够加速scim的启动吗?或者让scim在系统的启动的时候就自动启动?谢谢。。
发表于 2008-6-4 13:13:24 | 显示全部楼层
1.先启动scim
写一个scim.sh脚本,放到~/.kde/Autostart目录下:
  1. #!/bin/bash
  2. /usr/bin/scim -d &
复制代码

2. 用其他输入法如fcitx, 不用scim
1)在~/.profile里面加几行
  1. unset QT_IM_MODULE
  2. unset GTK_IM_MODULE
  3. export XMODIFIERS="@im=fcitx"
  4. export XIM_PROGRAM="/usr/bin/fcitx"
复制代码

2)修改/etc/gtk-2.0/gtk.immodules, 把最后几行修改一下, 中文环境不要调用对应的scim动态库
  1. "/usr/lib/gtk-2.0/immodules/im-scim.so"
  2. "scim" "SCIM Input Method" "scim" "/usr/share/locale" "ja:ko:zh"
  3. "/usr/lib/gtk-2.0/immodules/im-scim-bridge.so"
  4. "scim-bridge" "SCIM Bridge Input Method" "" "" ""
复制代码

改成
  1. "/usr/lib/gtk-2.0/immodules/im-scim.so"
  2. "scim" "SCIM Input Method" "scim" "/usr/share/locale" "ja:ko"
  3. "/usr/lib/gtk-2.0/immodules/im-scim-bridge.so"
  4. "scim-bridge" "SCIM Bridge Input Method" "" "" "ja"
复制代码

3)修改/etc/rc.d/rc.M, 把启动时生成gtk.immodules功能去掉
  1. if [ -x /usr/bin/gtk-query-immodules-2.0 ]; then
  2.   echo "Updating gtk.immodules:  gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules"
  3. #  /usr/bin/gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules 2> /dev/null
  4. fi
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-4 21:21:56 | 显示全部楼层
谢谢LS:)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-10 17:26:40 | 显示全部楼层
Post by zhoun;1858918
1.先启动scim
写一个scim.sh脚本,放到~/.kde/Autostart目录下:
  1. #!/bin/bash
  2. /usr/bin/scim -d &
复制代码

2. 用其他输入法如fcitx, 不用scim
在~/.profile里面加几行
  1. unset QT_IM_MODULE
  2. unset GTK_IM_MODULE
  3. export XMODIFIERS="@im=fcitx"
  4. export XIM_PROGRAM="/usr/bin/fcitx"
复制代码

还要修改/etc/gtk-2.0/gtk.immodules, 把最后几行修改一下, 中文环境不要调用对应的scim动态库
  1. "/usr/lib/gtk-2.0/immodules/im-scim.so"
  2. "scim" "SCIM Input Method" "scim" "/usr/share/locale" "ja:ko:zh"
  3. "/usr/lib/gtk-2.0/immodules/im-scim-bridge.so"
  4. "scim-bridge" "SCIM Bridge Input Method" "" "" ""
复制代码

改成
  1. "/usr/lib/gtk-2.0/immodules/im-scim.so"
  2. "scim" "SCIM Input Method" "scim" "/usr/share/locale" "ja:ko"
  3. "/usr/lib/gtk-2.0/immodules/im-scim-bridge.so"
  4. "scim-bridge" "SCIM Bridge Input Method" "" "" "ja"
复制代码

我按照你的第二种方法想把scim换成使用fcitx,没有成功,遇到下面的问题:

第一次进入系统后,fcitx虽然成功启动了,但是有汉字的地方都显示不了,特别是输入框显示成了一条细线(我猜不能显示汉字的缘故)。而且,在某一些程序(如firefox)中尝试使用fcitx,fcitx就会马上崩溃。这个问题我觉得可能是汉化的相关问题引起的,你有遇到过吗?

下面的问题肯定就是输入法的设置的问题了:
重启系统后,fcitx虽然还可以自动运行,当我启动某些程序(如terminal),在等了好久之后scim自动先启动然后才能启动那个程序,在系统的右下部可以看到它的图标,而启动另外一些程序如firefox就根本启动不了。这个时候我查看gtk.immodules文件的内容,发现已经自动回到了修改以前的内容了。
回复 支持 反对

使用道具 举报

发表于 2008-6-10 17:41:01 | 显示全部楼层
偶在xfce下用fcitx好好的,这就是我现在回复的状态xfce+firefox+fcitx,倒是苦恼的是emacs-cvs不支持fcitx输入了,不知为什么。只好用eim。
回复 支持 反对

使用道具 举报

发表于 2008-6-10 18:51:14 | 显示全部楼层
忘记说了
/etc/rc.d/rc.M中, 找到对应的gtk immodules项, 注释掉,
否则重启就自动恢复了
  1. if [ -x /usr/bin/gtk-query-immodules-2.0 ]; then
  2.   echo "Updating gtk.immodules:  gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules"
  3. #  /usr/bin/gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules 2> /dev/null
  4. fi
复制代码
回复 支持 反对

使用道具 举报

发表于 2008-6-10 18:55:23 | 显示全部楼层
对于不能显示汉字的情况, 肯定是设置问题
看看~/.fcitx/config这个配置文件中, 对应的中文字体设置
回复 支持 反对

使用道具 举报

发表于 2008-6-11 20:10:29 | 显示全部楼层
我没有安scim,

要再加上
  1. export QT_IM_MODULE=xim
复制代码
fcitx才能启动。

环境是 Openbox。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表