現在はUbuntu10.10を使っており、別のOSをVMwareなどにインストールして使っている。
VMwareだとXウィンドウを使ったグラフィカルな操作が可能なのだが、ゲストOSを使う場合は、VMwareのウィンドウを選択し、さらにそこから目的のアプリケーションを選択しなければならず使いにくい。
そこで、sshのX11フォワーディングを使って、ゲストOSのアプリケーションをホストOS上のウィンドウとして使っている。

■sshのX11フォワーディング
 sshのオプションに-Xオプションをつければよい。
$ ssh -X <ユーザ名>@<ホスト名/IPアドレス> [起動したいコマンド]

例えば、firefoxを起動したければ、以下のようにすれば起動する。
また、コマンドは省略すると
$ ssh -X testuser@192.168.0.100 firefox

しかし、これだと起動したアプリケーションに日本語入力ができない。
なので、日本語変換クライアントを使うための環境変数を設定してから指定のコマンドを起動するようなスクリプトを作成した。

■CentOS5.4(変換クライアントSCIM)
$ cat jinputstart.sh 
#!/bin/bash

export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE="scim"
export QT_IM_MODULE="xim"
#scim -d

if [ $# -ne 0 ];then
       $*
else
       echo futo
       gnome-terminal
fi

■PC-BSD(変換クライアントibus)
$ cat jinputstart.sh 
#!/bin/bash

export XMODIFIERS="@im=ibus"
export GTK_IM_MODULE="ibus"
export QT_IM_MODULE="xim"
#ibus-daemon -d -x

if [ $# -ne 0 ];then
        $*
else
        konsole
fi

以下のように上記スクリプト経由でアプリを起動することで、日本語入力が可能になる。
$ ssh -X testuser@192.168.0.100 /usr/local/bin/jinputstart.sh firefox

アプリを指定(上記例だとfirefox)しなければ、環境変数が設定されたターミナルが起動される。
そこから起動されたアプリケーションは日本語入力可能となる。

ほんとうはsshでログインしたときに、自動的に環境変数が設定されるようにしたいが、方法がわからない。
まぁ、そのうち研究してみよう。


名前:
コメント:


最終更新:2011年01月23日 17:24