Windows用Xサーバ での日本語入力設定

ALL
スポンサーリンク

Windows用Xサーバでリモートの Linuxアプリを使用時に、日本語入力できるようにする設定方法です。
Xサーバについては、次の記事を参照して下さい。

Windows用Xサーバ Cygwin/X パソコン鳥のブログ
WindowsでリモートのLinuxのGUIアプリを表示させる-Xサーバ Xming パソコン鳥のブログ

スポンサーリンク

日本語入力の設定

SSHで接続後、ターミナルで次を実行します。

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
export NO_AT_BRIDGE=1
xset -r 49
ibus-daemon -d -x

各行の意味は簡単に次のようになります。


export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

ibus-daemon -d -x

日本語入力の為の設定です。


export NO_AT_BRIDGE=1

アプリケーション(Xクライアント)起動時に
「WARNING **: Couldn’t connect to accessibility bus: Failed to connect to socket /tmp/dbus-XXXXXXXXXX: 接続を拒否されました」
とワーニングが出る場合に、これが出ないように防止します。


xset -r 49

半角/全角キーを押すと、IMEツールバーで「A」「あ」の表示が高速に点滅することがあります。
半角/全角キーの入力がリピートされることが原因なので、半角/全角キー(キーコード:49)のオートリピートを無効にします。

日本語入力方法

  • Ubuntu14.04
    Ctrl+space で入力メソッドが切り替わるので、Anthy か Mozc にします。
    半角/全角キーで日本語入力の ON/OFF が切り替わります。
  • CentOS6
    デフォルトでは入力メソッドはAnthyのみです。
    Mozcを入れている場合は、Ctrl+space で入力メソッドが切り替わるので、Anthy か Mozc にします。
    半角/全角キーで日本語入力の ON/OFF が切り替わります。
  • CentOS7
    ibus-setup を実行し、キーボードショートカットを Space から space に変更します。

    画像

    Ctrl+space で入力メソッドが切り替わるので、Kana Kanji にします。

    画像

    後は、半角/全角キーで日本語入力の ON/OFF が切り替わります。

接続の度に自動的に設定する

先述の設定をSSH接続の度に、自動的に設定されるようにします。

.bashrc の最後に次を追加します。

if [ -n "$SSH_CONNECTION" ] ; then
    export GTK_IM_MODULE=ibus
    export XMODIFIERS=@im=ibus
    export QT_IM_MODULE=ibus
    export NO_AT_BRIDGE=1
    xset -r 49
    if test `ps auxw | grep $USER | grep -v grep | grep "ibus-daemon -d -x" 2> /dev/null | wc -l` -eq 0;
    then
        ibus-daemon -d -x &
    fi
fi

.bash_logout に下記を追加します。
この設定は、ターミナルソフト PuTTY 使用時に、exit してもウィンドウが終了しない場合がある件の対処です。

if [ -n "$SSH_CONNECTION" ] ; then
    if test `who | grep $USER  2> /dev/null | wc -l` -eq 1;
    then
        while [ 1 ]
        do
            exec=""
            for pid in $( ps auxw | grep $USER | grep "dbus\|ibus\|mozc_" | grep -v grep|awk '{print $2}' ); do
                kill $pid 2> /dev/null
                exec="1"
            done
            if [ -z "$exec" ] ; then
                exit;
            fi
        done
    fi
fi

以上、Windows用Xサーバでの日本語入力の設定方法でした。

参考

Xの画面を他のXサーバーに表示する – ふなWiki
【今更感】XmingとPuttyでWindowsに最高の開発環境を作る – 波打際のブログさん
VirtualBox での漢字キーリピート不具合の対処 | DeVlog – 銀の翼で翔べ –
WindowsでリモートのLinuxのGUIアプリを表示させる-Xサーバ Xming パソコン鳥のブログ
ターミナルソフト PuTTY が exit しても終了しない場合 パソコン鳥のブログ
SSH経由でのログインを環境変数で判別する パソコン鳥のブログ

コメント

  1. とおりすがり より:

    長年悩んでいたXmingでの日本語入力が、こんな簡単にできるとは・・・。
    非常に助かりました。