Windows用Xサーバ での日本語入力設定(Ubuntu18.04の場合)

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

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

Xサーバについては、次の記事を参照して下さい。

WindowsでリモートのLinuxのGUIアプリを表示させる-Xサーバ VcXsrv


Fcitx インストール


Fcitx を使用します。

インストールします。

sudo apt install fcitx fcitx-mozc


画面右上のメニューから下の画像の個所をクリックして設定画面を出し、[地域と言語] で [インストールされている言語の管理] を押します。

画像


「言語サポート」ダイアログが出るので、"キーボード入力に使うIMシステム" で fcitx を選びます。

画像



ここで、Ubuntu を再起動します。


日本語入力の設定


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


export GTK_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export QT_IM_MODULE=fcitx
xset -r 49
fcitx-autostart


xset -r 49 は、半角/全角キーを押した際に、IMEツールバーで「A」「あ」の表示が高速に点滅することがあるので、回避のために実行します。
半角/全角キーの入力がリピートされることが原因なので、この設定で半角/全角キー(キーコード:49)のオートリピートを無効にします。

この後、Xウィンドウアプリを起動し、半角/全角キーを押すと日本語入力の ON/OFF が切り替わります。


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


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

.bashrc の最後に次を追加します。
先述の設定で fcitx-autostart を実行していた個所は、処理を変えています。

.bashrc

if [ -n "$SSH_CONNECTION" ] ; then
    export GTK_IM_MODULE=fcitx
    export XMODIFIERS=@im=fcitx
    export QT_IM_MODULE=fcitx
    xset -r 49
    
    fcitx-remote > /dev/null 2>&1
    if [ $? = "1" ]; then
        fcitx $XDG_SESSION_ID> /dev/null 2>&1
    fi
fi



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

.bash_logout

if [ -n "$SSH_CONNECTION" ] ; then
    while [ 1 ]
    do
        exec=""
        for pid in $( ps auxw | grep $USER | grep " fcitx $XDG_SESSION_ID$" | grep -v grep|awk '{print $2}' ); do
            kill $pid 2> /dev/null
            exec="1"
        done
        if [ -z "$exec" ] ; then
            exit;
        fi
    done
fi


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



参考


【Ubuntu】【fcitx】fcitx で日本語入力する【SW】 - 4f938672-cb1c-4c5a-8233-192c4ec901df

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック