LinuxSir.cn,穿越时空的Linuxsir!

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

How to restart SCIM w/o login out and in

[复制链接]
发表于 2005-7-13 16:18:25 | 显示全部楼层 |阅读模式
I can hardly kill scim process, especially scim-helper and so on, but I need scim to know the new compiled module (scim-pinyin), how can I do it?
Thanks a lot.
发表于 2005-7-13 17:02:10 | 显示全部楼层
Logout/Login is the best way to do it :-(
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-13 22:10:12 | 显示全部楼层
Oh, may I file a feature request here, haha, thank you a lot for your so quick response.
回复 支持 反对

使用道具 举报

发表于 2005-7-14 08:47:18 | 显示全部楼层
我编了个脚本来做这个事情。事实上是两个,虽然应该可以写成一个的···
killscim:
  1. XMODIFIERS=@im=fcitx urxvt -e .killscim
  2. XMODIFIERS=@im=fcitx urxvt -e $*
复制代码


.killscim:
  1. for x in  `ps -eo pid,comm|grep scim|awk -F\  '{ print $1 }'`; do echo $x&& kill -s 9 $x; done
复制代码


这样子你可以使用
  1. $killscim
复制代码

来终止scim程序,也可以用
  1. $killscim scim -d
复制代码

来杀死并重启scim。

.killscim找出scim的进程并杀死,这件事如果直接在scim的client终端窗口如urxvt等中运行有可能使该窗口失去响应···

如果运行killscim时有一些gtk的scim client在运行,那么scim的托盘图标消失后会马上又出现,这是因为相应的进程被scim_gtk_module给重新启动了,以免导致这些gtk的client崩溃。直接运行
  1. $killscim scim -d
复制代码
在我的系统上可以将scim正确重启,先killscim再scim -d也可以,呵呵

忘记说了,urxvt是我的最爱,你可以用xterm啊之类的,应该也有个与urxvt的-e相应的选项。不要用gnome-terminal来killscim,因为这是个gtk的程序,I don't know what will happen···
回复 支持 反对

使用道具 举报

发表于 2005-7-14 19:44:45 | 显示全部楼层
scim 在启用 debug 的时候,会有一个 退出 选项

skim 中是通过用户配置来指定是否显示那个 退出 选项的

如果你平时不使用 XIM 的程序的话,那么使用这些退出选项是不会有什么问题的
回复 支持 反对

使用道具 举报

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

本版积分规则

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