不会呀?现在fcitx不能自动淘汰词组的,我曾经想做这个功能,但没有相好用什么策略来实现。
刚恢复ml自带的小企鹅试试,确实不会淘汰了,看来我是搞错了,呵呵,不好意思 我把/usr/share/autostart中的rfinput。desktop给删了,怎么红旗输入法还能启动?在哪里还有启动项啊?
我删掉就不启动了,你检查一下看其他地方有没有启动 公布修改情况(免得被人怀疑做手脚:-D ):
修改:
1、红旗4.0beta每次重起机器后,用户新组的词库(/usr/local/unispim/unusrwl.dat)将丢失,推测原因(不是很准确,大家可以自行实验,没方法,我没有源码)如下:
红旗没有在启动rfinput前就启动upimd(紫光输入法引擎),当upimd没启动而直接启动rfinput时,rfinput会自行将用户词库删掉并恢复成一个默认缺省的词库,同时rfinput会自动启动upimd引擎,不过,为时已晚,用户词库已经被删
重起时,用户在本次使用紫光时新组的词还没有被保存到用户词库,要想词组保存起来,需要在rfinput结束后用upimd -stop命令来关闭紫光的引擎,这样用户自己的词组才会保存起来
因此,我从中软4 .0那里抄了个upimd的系统服务脚本,解决这个问题,至于这个脚本,你可以安装后在/etc/init.d/upim里看到
我在redhat9中使用upim这个脚本,重启机器后用户词库还是丢失了!
我的安装方法
1.rpm -ivh rf-xim-input*.rpm --nodeps
2.mv /etc/profile.d/rfinput.sh /etc/X11/xinit/xinitrc.d/xinput
然后把倒数第二行的rfinput前的注释去掉
3.把upim拷到/etc/init.d/upim
然后chkconfig --add upim
我和你的不同之处就在于/etc/bashrc没有修改吧,怎么会我这里不起作用呢?
关于rh9中紫光拼音保存词库问题
[email protected]在redflag4.0beta的输入法基础上作了修改,加入了/etc/init.d/upim这个脚本,号称能解决重启丢失用户词库的问题。
但我用在redhat9上并不成功,重启后用户词库照样丢失。
后来我发现这个规律:
1. 用户的新词组保存在内存里。只有在执行/usr/local/unispim/upimd -stop后,
upimd才将用户词组保存到用户词库文件/usr/local/unispim/usrwl.dat里。
2. 如果在执行rfinput之前有upimd在运行,则保存失败:
例如你用upimd -start -logmsg启动upimd(可以查看debug消息)
则在upimd -stop时可以看到
"/usr/local/unispim/usrwl.dat skip writed".(保存失败)
接着你会发现usrwl.dat已经被usrwl.dat.bak覆盖,用户词组全部丢失。
3. 如果在rfinput运行之前没有upimd运行,则upimd -stop能正常保存用户词库。
所以解决重启词库丢失的办法是:
在init n (n=0,1,2,3,4,5,6)前运行upimd -stop
(n=5为了保证upimd不会先于rfinput运行,其他的是为了通知upimd保存用户词组)
只要从我的ftp拷一个upim拷到/etc/init.d/下,然后运行chkconfig --add upim就行了。
ftp://162.105.69.232/pub/Input/rfinput/upim
规律2,3和[email protected]的结论相反,这也可能是redhat9和magiclinux1。1的差别
造成的。详细原因,还请大家一起帮助查查! 另外,我用的是GNOME。
Re: 关于rh9中紫光拼音保存词库问题
2. 如果在执行rfinput之前有upimd在运行,则保存失败:
例如你用upimd -start -logmsg启动upimd(可以查看debug消息)
则在upimd -stop时可以看到
"/usr/local/unispim/usrwl.dat skip writed".(保存失败)
接着你会发现usrwl.dat已经被usrwl.dat.bak覆盖,用户词组全部丢失。
3. 如果在rfinput运行之前没有upimd运行,则upimd -stop能正常保存用户词库。
你的意思是rfinput要在upimd前执行?
Re: 关于rh9中紫光拼音保存词库问题
你的意思是rfinput要在upimd前执行?
不错。在rfinput运行之前不能有upimd运行,而rfinput运行时会自动启动upimd。
在redhat 9上是这样的,据[email protected]说gentoo上也是这样的。
具体原因不太清楚。 此外,你在/etc/bashrc设置LC_ALL=zh_CN.GB18030不太好,把各个用户默认的配置都覆盖掉了。
比如我喜欢使用英文界面,又能正常输入中文。
其实只要设置LC_CTYPE=zh_CN.GB18030就行了,而且最好设在/etc/sysconfig/i18n吧。 此外,你在/etc/bashrc设置LC_ALL=zh_CN.GB18030不太好,把各个用户默认的配置都覆盖掉了。
比如我喜欢使用英文界面,又能正常输入中文。
其实只要设置LC_CTYPE=zh_CN.GB18030就行了,而且最好设在/etc/sysconfig/i18n吧。
只要改LC_CTYPE变量就行了啊,知道了。
Re: 关于rh9中紫光拼音保存词库问题
你的意思是rfinput要在upimd前执行?
不错。在rfinput运行之前不能有upimd运行,而rfinput运行时会自动启动upimd。
在redhat 9上是这样的,据[email protected]说gentoo上也是这样的。
具体原因不太清楚。
刚测试了一下,过程如下:
1、我删掉/usr/share/autostart/rfinput.desktop,这样进入kde后输入法不启动
2、执行chkconfig --del upim命令,取消upimd的自动启动功能
重起后进入系统,upimd不会自动运行,rfinput也不会自动运行
开始测试:
1、按你的说法,如果先启动upimd,再启动rfinput,那么在stop upimd时会自动将用户词库文件重置,但我的测试结果却表明,这样做不会重置词库(见贴图23里),而且可以看出upimd在stop时
2、按我的说法,如果不先启动upimd,直接就启动rfinput,那么用户词库将被rfinput重置,测试结果见贴图24,结果表明是对的,用户词库被恢复成bak的那个1440728大小的词库,注意看贴图里的信息,此时我还没有执行stop的指令,而按你的说法是stop时才重置的
3、经过多次测试,只有在upimd -stop时才会保存用户词库,这点应该是没怀疑的
4、多次测试,如果不先让rfinput进程退出,就直接upimd -stop,很容易产生问题,轻则当前所有正在输入中文的程序全部失去响应,重则整个kde失去响应
推测的几点:
1、红旗rfinput在启动时会自动检查upimd进程是否运行,我觉得这就表明,upimd应该是先于rfinput运行才对;而且,从中软的紫光来看,也必须upimd先启动,否则中软的紫光(Chinput)就启动不了,而紫光是一个统一的输入法引擎,常理应该是先启动引擎,再启动调用这个引擎的第三方输入法。
2、如果不等输入法的进程关闭就直接关闭紫光引擎,这无论从设计角度还是使用角度来说都说不过去,因为这些输入法都需要调用紫光的引擎,先关闭引擎,输入法还没关闭的话,按常理如果输入法不做特别处理,到输入法突然要调用引擎而发现引擎的进程已经不在的话,绝对是有意外发生,我多次的测试也表明了这点。
3、上述的所有测试都在ml 1.1 f环境下进行,LC_ALL是GB18030,是否因为rh9和ml的环境相差太大而造成这种相反的测试结果,我觉得不太可能;如果有红旗开发输入法的技术员在此,问问他就最清楚,不过...呵呵,估计他看不到这贴
Re: 关于rh9中紫光拼音保存词库问题
刚测试了一下,过程如下:
开始测试:
1、按你的说法,如果先启动upimd,再启动rfinput,那么在stop upimd时会自动将用户词库文件重置,但我的测试结果却表明,这样做不会重置词库(见贴图23里),而且可以看出upimd在stop时
2、按我的说法,如果不先启动upimd,直接就启动rfinput,那么用户词库将被rfinput重置,测试结果见贴图24,结果表明是对的,用户词库被恢复成bak的那个1440728大小的词库,注意看贴图里的信息,此时我还没有执行stop的指令,而按你的说法是stop时才重置的
看了你的贴图,再经过我实验,我终于明白是怎么回事了:
你一直用的是root,而我启动upimd用的是root,启动rfinput则是一个普通用户"chluo"。
我的结论是: upimd和rfinput必须是同一个用户执行,否则会产生词库不能保存的错误。
3、经过多次测试,只有在upimd -stop时才会保存用户词库,这点应该是没怀疑的
同意。
4、多次测试,如果不先让rfinput进程退出,就直接upimd -stop,很容易产生问题,轻则当前所有正在输入中文的程序全部失去响应,重则整个kde失去响应
我并没有说在rfinput运行时执行upimd -stop呀。
我也用的是redhat,但是二位的方法我都使用过,但是不见效果。
一,我重做过系统,刚开始的时候用llc的方法,能保存,但是装了一大堆的软件之后,就不正常,到最后彻底不能保存。
二,我换成成luochong的脚本之后,刚开始还是有starting upimd,使用输入法,之后发现upimd变成了普通用户的进程,开来是随rfinput启动了,重新启动几次之后,发现可以保存,但是如果用reboot,就不能。
三,当我睡了一觉起来,发现luochong的方法也没有效果了,试了好几次,都不能保存,又换成llc的脚本,又成功了几次,但是再往后就不能成功了。
菜鸟发现几个问题,希望有帮助,超级郁闷中。 提示您一下,日常使用,用root不安全。
Re: 关于rh9中紫光拼音保存词库问题
看了你的贴图,再经过我实验,我终于明白是怎么回事了:
你一直用的是root,而我启动upimd用的是root,启动rfinput则是一个普通用户"chluo"。
我的结论是: upimd和rfinput必须是同一个用户执行,否则会产生词库不能保存的错误。
原来是权限问题
我并没有说在rfinput运行时执行upimd -stop呀。
呵呵,我理解有错误 提示您一下,日常使用,用root不安全。
原因有两个:
1、我喜欢安装测试一些软件之类的东西,需要经常修改系统设置,嫌麻烦因此一直用root
2、我非常喜欢root的那种至高无上、毫无拘束、干什么都没有限制的感觉