我的系统 fedora core 2 下载的fcitx fcitx-3.1.1-bin.tar.bz2 是预编译包
1 解压(tar -zvxf fcitx-3.1.1-bin.tar.bz2 )后生成的文件夹中有INSTALL.SH ,运行之 会向/usr/bin/ 中复制fcitx 向/usr/share/ 中复制数据文件
2 修改xinput中的XIM_PROGRAM=fcitx 3 开始-->系统设置-->服务器设置-->服务 在服务管理器中 不许IIim服务开机启动 这个服务会和FCITX冲突
这就好了 重新启动电脑 fcitx就会在登入后自己启动
系统变量只要改上面那一个 原有的输入法不用删掉 profile文件不用改动
晚上我把 具体文件内容发来
http://softwareengineering.chinadir.net/30924.htm 感谢这篇文章的作者
这是我的系统参数: [root@ls-own root]# locale LANG=zh_CN.UTF-8 LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL= [root@ls-own root]# echo $XMODIFIERS @im=Chinput
这是我的xinput 文件,标记处是唯一一处改动 还可以看到我改动又改回去的两处 #!/bin/bash # Copyright (C) 1999 - 2004 Red Hat, Inc. All rights reserved. This # copyrighted material is made available to anyone wishing to use, modify, # copy, or redistribute it subject to the terms and conditions of the # GNU General Public License version 2. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # # XIM( X Input Method ) script # # Original Korean support contributed by: # Won-kyu Park #
oldterm=$TERM unset TERM # Load up the user and system locale settings if [ -r /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 [ -n "$LC_ALL" ]; then tmplang=$LC_ALL elif [ -n "$LC_CTYPE" ]; then tmplang=$LC_CTYPE elif [ -n "$LANG" ]; then tmplang=$LANG elif [ -r /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 # WARNING: 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 [ "$GDMSESSION" = "Default" ]; then PREFERRED=gnome elif [ "$GDMSESSION" = "GNOME" ]; then PREFERRED=gnome elif [ "$GDMSESSION" = "KDE" ]; 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 -o "" = "default" ]; then # applies if no arg passed by kdm and runlevel 3 PREFERRED=kde else # otherwise assign $PREFERRED from arg PREFERRED= 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. #
# default to iiim if htt server is running if [ -z "$XIM" ]; then case $tmplang in ( ar* | be* | ja* | ko* | th* | zh* | *_IN* ) if /sbin/service IIim status 2>/dev/null | /bin/grep -q pid ; then XIM=htt #XIM=fcitx fi ;; esac
fi
# otherwise revert to legacy XIM client if [ -z "$XIM" ]; then case $tmplang in ja*) # WARNING: This binary should be in /usr/bin, not in /usr/X11R6/bin, because # /usr/X11R6/bin is strictly for software supplied as an official part of # X11R6, not for random applications to drop files in. if [ -x /usr/X11R6/bin/xwnmo ]; then XIM="_XWNMO" elif [ -x /usr/bin/uim-xim ]; then XIM="uim" # WARNING: This binary should be in /usr/bin, not in /usr/X11R6/bin, because # /usr/X11R6/bin is strictly for software supplied as an official part of # X11R6, not for random applications to drop files in. elif [ -x /usr/X11R6/bin/kinput2 ]; then XIM="kinput2" # WARNING: This binary should be in /usr/bin, not in /usr/X11R6/bin, because # /usr/X11R6/bin is strictly for software supplied as an official part of # X11R6, not for random applications to drop files in. elif [ -x /usr/X11R6/bin/skkinput ]; then XIM="skkinput" fi ;; ko*) if [ -x /usr/bin/nabi ]; then XIM="nabi" elif [ -x /usr/bin/ami ]; then XIM="Ami" elif [ -x /usr/bin/hanIM ]; then XIM="hanIM" fi ;; zh_CN*) #if [ -x /usr/bin/fcitx ]; then #XIM="fcitx" #<---------------------------------------这里又改回来了 if [ -x /usr/bin/chinput ]; then XIM="Chinput" fi ;; zh_TW*) # WARNING: This binary should be in /usr/bin, not in /usr/X11R6/bin, because # /usr/X11R6/bin is strictly for software supplied as an official part of # X11R6, not for random applications to drop files in. if [ -x /usr/X11R6/bin/xcin ]; then XIM="xcin" fi ;; esac fi
# # set a proper XIM program with respect to $XIM # if [ -z "$XIM_PROGRAM" ]; then case "$XIM" in Ami) case "$PREFERRED" in 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 ;; Chinput) XIM_PROGRAM=fcitx ##XIM_PROGRAM=chinput #<------------------------------------------这是唯一的改动 ;; hanIM) if which hanIM >/dev/null 2>&1 ; then XIM_PROGRAM=hanIM fi ;; htt) XIM_PROGRAM=httx ;; kinput2) XIM_PROGRAM=kinput2 if [ -z "$XIM_ARGS" ]; then if /usr/bin/cannaping 2>/dev/null ; then XIM_ARGS="-canna +kinput -xim" elif /sbin/service FreeWnn status 2>/dev/null | /bin/grep -q pid then XIM_ARGS="-wnn +kinput -xim" else XIM_ARGS="+kinput -xim" fi fi ;; nabi) XIM_PROGRAM=nabi ;; skkinput) XIM_PROGRAM=skkinput ;; uim) XIM_PROGRAM=uim-xim ;; _XWNMO) XIM_PROGRAM=xwnmo ;; xcin) XIM_PROGRAM=xcin XIM_ARGS="-x xcin" ;; *) XIM_PROGRAM=/bin/true ;; esac fi
# set default gtk IM module if [ -z "$GTK_IM_MODULE" ]; then case "$XIM" in htt) GTK_IM_MODULE=iiim ;; esac fi [ -n "$GTK_IM_MODULE" ] && export GTK_IM_MODULE
# setup XMODIFIERS #[ -z "$XMODIFIERS" -a -n "$fcitx" ] && export XMODIFIERS="@im=$fcitx" #<-------------------------------------这里又改回来了 [ -z "$XMODIFIERS" -a -n "$XIM" ] && export XMODIFIERS="@im=$XIM"
# execute XIM_PROGRAM which "$XIM_PROGRAM" > /dev/null 2>&1 && LANG="$tmplang" "$XIM_PROGRAM" $XIM_ARGS &
|