Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239324
  • 博文数量: 91
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 955
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-12 09:38
文章分类

全部博文(91)

文章存档

2017年(1)

2011年(1)

2008年(15)

2007年(74)

我的朋友

分类: LINUX

2007-08-28 09:38:25

Fcitx(小企鹅输入法).
test version redhat(9.0)

第一步 rpm -e miniChinput
当你执行第一步时,我想你应该先装一下fcitx.
安装方法:
tar xvjf fcitx-version.tar.bz2
cd fcitx-version
./configure
make
make install
启动fcitx
/usr/local/bin/fcitx
如果提示有一个后台程序xcin正在运行时(Start FCITX error. Another XIM daemon named xcin-zh_CN.GB2312 is running?),你需要执行第二步
第二步 rpm -e xcin

(这一步如果不成功的话,没关系,你直接进入第三步,我在第二次装系统时就出现这种情况)

第三步,修改以下配置文件(修改处在行末加了注释)
/etc/X11/xinit/xinitrc.d/xinput
#!/bin/sh
# Copyright (C) 1999-2001 Red Hat, Inc.
#
# XIM( X Input Method ) script
#
# Korean part,etc contributed by
#    Won-kyu Park <wkpark@chem.skku.ac.kr>
#

oldterm=$TERM
unset TERM
# Load up the user and system locale settings
if [ -f /etc/profile.d/lang.sh ] ; then
  . /etc/profile.d/lang.sh
fi
export TERM=$oldterm

tmplang="en_US"
#if test x$GDM_LANG != x ; then
# tmplang=$GDM_LANG
if test x$LC_ALL != x ; then
    tmplang=$LC_ALL
elif test x$LC_CTYPE != x ; then
    tmplang=$LC_CTYPE
elif test x$LANG != x ; then
    tmplang=$LANG
elif [ -e /etc/sysconfig/i18n ]; then
    . /etc/sysconfig/i18n
    tmplang=$LANG
fi

#
# check to see if the user has a preferred desktop
#

PREFERRED=

# runlevel 5 - checks which session manager it will load
# runlevel 3 - checks which desktop manager it will load
if [ -f /etc/sysconfig/desktop ]; then
# FIXME: This grep regex can be combined when someone has copious spare time.
 if grep -q "GNOME" /etc/sysconfig/desktop 2>/dev/null || grep -q "\"\"" /etc/sysconfig/desktop 2>/dev/null; then
     # runlevel 5 with gdm - checks for $GDMSESSION and set the $PREFERRED
     if [ x$GDMSESSION = xDefault ]; then
         PREFERRED=gnome
     elif [ x$GDMSESSION = xGNOME ]; then
         PREFERRED=gnome
     elif [ x$GDMSESSION = xKDE ]; then
         PREFERRED=kde
     else
         # applies if no env and runlevel 3
         PREFERRED=gnome
     fi
 elif grep -q "KDE" /etc/sysconfig/desktop 2>/dev/null; then

    if [ -z $1 ] || [ x$1 = xdefault ]; then
         # applies if no arg passed by kdm and runlevel 3
         PREFERRED=kde
    else
         # otherwise assign $PREFERRED from arg
         PREFERRED=$1
    fi
 fi
fi

if [ -z $PREFERRED ]; then

    GSESSION=gnome-session
    STARTKDE=startkde

    # by default, we run GNOME.
    if which $GSESSION > /dev/null 2>&1; then
        PREFERRED=gnome
    fi

    # if GNOME isn't installed, try KDE.
    if which $STARTKDE > /dev/null 2>&1; then
        PREFERRED=kde
    fi
fi


#
# check $XIM and set a default $XIM value.
#
if [ -z "$XIM" ]; then
    case $tmplang in
        ko*)
            if [ -e /usr/bin/ami ]; then
            XIM="Ami"
            elif [ -e /usr/bin/hanIM ]; then
            XIM="hanIM"
            fi
        ;;
        ja*)
        if [ -e /usr/X11R6/bin/xwnmo ]; then
            XIM="_XWNMO"
        elif [ -e /usr/X11R6/bin/kinput2 ]; then
            XIM="kinput2"
        elif [ -e /usr/X11R6/bin/skkinput ]; then
                    XIM="skkinput"
        fi
        ;;
        zh_CN*)
            if [ -e /usr/bin/chinput ]; then
                XIM="Chinput"
        elif [ -e /usr/X11R6/bin/xcin ]; then
        export LC_CTYPE=zh_CN.GB2312
        XIM="xcin-zh_CN.GB2312"
            elif [ -e /usr/local/bin/fcitx ];then #this is append这是添加的两句话
        XIM="fcitx"
        fi
        ;;
        zh_TW*)
        if [ -e /usr/X11R6/bin/xcin ]; then
        export LC_CTYPE=zh_TW.Big5
        XIM="xcin"
        fi
        ;;
        *)
        XIM="none"
        ;;
    esac
fi

#
# set a proper XIM program with respect to $XIM
#
if [ -z "$XIM_PROGRAM" ]; then
   case "$XIM" in
      Ami)
    case "$PREFERRED" in
       gnome)
        if which ami_applet >/dev/null 2>&1 ; then
                        DELAY_START=2
            XIM_PROGRAM=ami_applet
            XIM_ARGS=""
        elif which ami >/dev/null 2>&1 ; then
            XIM_PROGRAM=ami
        fi
      ;;
      kde)
        if which wmami >/dev/null 2>&1 ; then
            XIM_PROGRAM=wmami
            XIM_ARGS="-wait"
        elif which ami >/dev/null 2>&1 ; then
            XIM_PROGRAM=ami
        fi
          ;;
      *)
        if which ami >/dev/null 2>&1 ; then
            XIM_PROGRAM=ami
        fi
          ;;
    esac
    ;;
      hanIM)
    if which hanIM >/dev/null 2>&1 ; then
        XIM_PROGRAM=hanIM
    fi
    ;;
      Chinput)
        XIM_PROGRAM=chinput ;;
      fcitx)                #this is append这是添加的两句话
    XIM_PROGRAM=fcitx;;
      xcin)
        XIM_PROGRAM=xcin ;;
      xcin-zh_CN.GB2312)
        XIM_PROGRAM=xcin
        XIM_ARGS="-x xcin-zh_CN.GB2312" ;;
      _XWNMO)
    XIM_PROGRAM=xwnmo
     ;;
      kinput2)
    XIM_PROGRAM=kinput2
    if [ X"`ldd /usr/X11R6/bin/kinput2 | grep libcanna`" = X ] ; then
        XIM_ARGS="-wnnenvrc /etc/FreeWnn/ja/wnnenvrc"
    else
        XIM_ARGS="-canna"
    fi
     ;;
      skkinput)
        XIM_PROGRAM=skkinput
        XIM_ARGS="" ;;
      *)
    XIM_PROGRAM=/bin/true ;;
   esac
fi
[ -z "$XMODIFIERS" -a -n "$XIM" ] && export XMODIFIERS="@im=$XIM"

# execute XIM_PROGRAM


if test x$DELAY_START != x; then
    #spawn to new process with external shell
  bash -c "
    while [ x\`ps -C panel -o pid=\` == x ]; do
        sleep $DELAY_START
    done
    [ -z "\$XMODIFIERS" -a -n "$XIM" ] && export XMODIFIERS="@im=$XIM"
    sleep $DELAY_START
    which $XIM_PROGRAM > /dev/null 2>&1 && LANG=$tmplang $XIM_PROGRAM $XIM_ARGS &
  " &

else
        which $XIM_PRO

现在你再重启就可以了,你就可以用fcitx法了

阅读(2530) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~