|
发表于 2004-5-22 11:47:25
|
显示全部楼层
hutigers测试得真仔细。我在Red Hat Enterprise Linux AS release 3成功装上了fcitx并做好了rpm包。看起来还不错就没深入测试了。
hutigers兄说的所有问题都是存在的。
另外,我在fcitx的rpm加入了一段脚本。可以检测是否存在IIif服务,如果有,则关闭这一服务。另外,针对redhat修改/etc/X11/xinit/xinitrc.d/xinput 中所有的字串Chinput(chinput)为fcitx,针对Mandrake修改/etc/X11/xinit/XIM和/etc/sysconfig/i18n所有的字串chinput为fcitx 并在这两种发行版中把/etc/profile.d/input.sh(上个版本fcitx带有这个脚本)删除。而在其它发行版内保留这个脚本以保证能自动启动fcitx
不知大家对我这种做法看法如何?
附:两段脚本:
fcitx rpm内部脚本:
- %{_bindir}/gtk-query-immodules-2.0 > %{_sysconfdir}/gtk-2.0/gtk.immodules
- if [ -f %{_sysconfdir}/redhat-release ] && ! [ -f %{_sysconfdir}/mandrake-release ] ; then
- rm -f %{_sysconfdir}/profile.d/input.sh
- if service IIim status > /dev/null 2>&1 ; then
- /sbin/service IIim stop >/dev/null 2>&1
- /sbin/chkconfig --del IIim
- /usr/sbin/userdel htt 2>/dev/null 2>&1
- fi
- if [ -f %{_sysconfdir}/X11/xinit/xinitrc.d/xinput ] ; then
- if ! grep -i "fcitx" %{_sysconfdir}/X11/xinit/xinitrc.d/xinput >/dev/null 2>&1 ; then
- echo "/etc/X11/xinit/xinitrc.d/xinput be saved /etc/X11/xinit/xinitrc.d/xinput.rpmsave"
- cp -f %{_sysconfdir}/X11/xinit/xinitrc.d/xinput %{_sysconfdir}/X11/xinit/xinitrc.d/xinput.rpmsave
- sed -e 's/Chinput/fcitx/' \
- -e 's/chinput/fcitx/' \
- %{_sysconfdir}/X11/xinit/xinitrc.d/xinput > %{_sysconfdir}/X11/xinit/xinitrc.d/xinput.tmp
- mv -f %{_sysconfdir}/X11/xinit/xinitrc.d/xinput.tmp %{_sysconfdir}/X11/xinit/xinitrc.d/xinput
- chmod 755 %{_sysconfdir}/X11/xinit/xinitrc.d/xinput
-
- fi
- fi
- elif [ -f %{_sysconfdir}/mandrake-release ] ; then
- rm -f %{_sysconfdir}/profile.d/input.sh
- if [ -f %{_sysconfdir}/X11/xinit/XIM ] ; then
- if ! grep -i "fcitx" %{_sysconfdir}/X11/xinit/XIM >/dev/null 2>&1 ; then
- echo '/etc/X11/xinit/XIM be saved /etc/X11/xinit/XIM.rpmsave'
- cp -f %{_sysconfdir}/X11/xinit/XIM %{_sysconfdir}/X11/xinit/XIM.rpmsave
- sed -e 's/Chinput/fcitx/' \
- -e 's/chinput/fcitx/' \
- %{_sysconfdir}/X11/xinit/XIM > %{_sysconfdir}/X11/xinit/XIM.tmp
- mv -f %{_sysconfdir}/X11/xinit/XIM.tmp %{_sysconfdir}/X11/xinit/XIM
- chmod 755 %{_sysconfdir}/X11/xinit/XIM
- fi
- fi
- fi
复制代码
脚本:/etc/profile.d/input.sh
- INPUT=fcitx
- export XMODIFIERS=@im=$INPUT
- export XIM=$INPUT
- export XIM_PROGRAM=$INPUT
- if [ -f $HOME/.kde ] ; then
- if ! [ -f $HOME/.kde/Autostart/$INPUT ] ; then
- ln -sf /usr/bin/$INPUT $HOME/.kde/Autostart/
- fi
- fi
- if [ -f $HOME/.gnome2 ] ; then
- if [ -f $HOME/.gnome2/session-manual ] && grep -i "RestartCommand=$INPUT" $HOME/.gnome2/session-manual > /dev/null 2>&1 ; then
- exit 1
- else
- if [ -f $HOME/.gnome2/session-manual ] && ! grep -i "RestartCommand=$INPUT" $HOME/.gnome2/session-manual > /dev/null 2>&1 ; then
- mv -f $HOME/.gnome2/session-manual $HOME/.gnome2/session-manual.old
- fi
- cat > $HOME/.gnome2/session-manual << EOF
- [Default]
- num_clients=1
- 0,RestartStyleHint=3
- 0,Priority=50
- 0,RestartCommand=$INPUT
- EOF
- fi
- fi
复制代码 |
|