LoginSignup
12
12

More than 5 years have passed since last update.

(CentOS/RHEL6.x向け)VcXsrv・MobaXterm(・Xming)を利用してWindowsからLinuxサーバのGUIソフトで日本語入力を行う

Last updated at Posted at 2015-09-11

導入

WindowsからCentOSなどのLinuxサーバにSSHで接続してGUIソフトをX11Forwardingで起動した場合、そのままでは日本語が入力できません。ここでは特にCentOSなどRHEL系サーバでの設定方法を紹介します。但し、CentOS 6.7 + VcXsrv・MobaXtermでの動作確認になりますので、5.x/7.x系、RHEL系以外での動作確認はしていません。また、ここではサーバ側の日本語入力にiBusを使っていることが前提です。(6.x系ではデフォルトでibus-anthyっぽいので大丈夫だと思います)2つのXクライアントで動いたのでXmingでも大丈夫だと思います。

設定方法

tcshなどC Shell系のシェルをログインシェルとして使っている場合、.tcshrcなどに次の文を加えます。

.(t)cshrc
setenv GTK_IM_MODULE xim
setenv QT_IM_MODULE xim
if ( $?XMODIFIERS ) then
else
    setenv XMODIFIERS @im=ibus
    ibus-daemon -drx
endif

BashなどBourne Shell系を使っている場合は次のように入力するといいと思います。但し、動作確認はしていません。

.bashrc
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
if [ -z "$XMODIFIERS" ]; then
    export XMODIFIERS=@im=ibus
    ibus-daemon -drx
fi

追記: いつも接続するサーバでいつの間にかできなくなっていましたが、ibus-daemon -dxの部分をibus-daemon -drxに直すと再びできるようになりました。従って、上のシェリスクリプトを修正しました。

仕組み

正直に言ってあまり分かっていないです。1・2行目はximの代わりにscimuimにしろっていうサイトもあるのでximでダメなら試行錯誤してください。3行目以降はLinux(iBusを使用しているもの)から接続した場合にiBusがダブらないようにするための設定です。iBus以外を使用している場合は1・2行目も含め適宜変更してください。

1・2行目ではそれぞれGTK_IM_MODULEQt_IM_MODUleという名前の環境変数にximという値をセットします。3行目以降ではXMODIFIERSという環境変数に値がセットされていなければ値をセットし、ibus-daemonを起動します。iBusを使用しているLinuxから接続する場合は既にセットされているようなので、省いています。

今までで入力できてたのにいつの間にかできなくなった時(追記)

シェルで

$ ibus-daemon -drx

と入力してみてください。
追記: Python2.7をソースビルドするとできなくなることがあります。(ibus-setup &でエラーが出て設定画面が出てこない)

ログアウトしても端末が終了しない

原因不明です。

ちょこっと参考にしたもの

1.WindowsでXサーバを立てる - ふなWiki
他にも数サイト参考にしています。(うまく検索に引っかからないです)

12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12