Redhat8.0でATOKXを使用する

Just System のATOKXを使用するにはインストール後に次のような設定が必要です。

ATOKXのサイト http://www.justsystem.co.jp/atokx/index.html には Redhat7.1までは動作確認されているようですが、2003/1/1 現在ではRedhat8.0は動作保障されておらず、FAQ等もありません。

次のファイルを修正します。が念の為バックアップはとっておきましょう ^^;
/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 
#

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
            if [ -x /usr/lib/im/locale/ja/atokserver/atokx_client ] ; then
                XIM="htt"
            elif [ -e /usr/X11R6/bin/kinput2 ]; then
                XIM="kinput2"
            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"
	    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 ;;
      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
	 ;;


# add 
       htt)
        . /usr/lib/im/locale/ja/atokserver/atokx_client
        XIM_PROGRAM=/bin/true
        ;;


      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_PROGRAM > /dev/null 2>&1 && LANG=$tmplang $XIM_PROGRAM $XIM_ARGS &
fi


これで設定は完了です。「半角/全角」キーを押せはATOKでの入力が可能となります。
しかし一般的な Shift+Space で入力を行いたい場合は root ユーザーにて
/usr/lib/im/locale/ja/atokserver/ に shift_spaceというファイルを作成しておきます。

# echo "" /usr/lib/im/locale/ja/atokserver/shift_space

です。
これでX再起動で Shift+Space で入力可能となります。


またよく使用されているOpenOffice でATOKが使用できないといった問題があります。
こちらは ~/.bash_prifile に
export USE_XOPENIM=t

を追加してやれば使用可能になります。






       [へなちょこlinuxのコーナーへ]    [ホームへ]