遠隔ログイン時の文字化けを防ぐ

僕のいる研究室での共通文字コードEUC-JPであり,cygwinの設定もそのようになっている(実は僕のcygwinだけShift-JISになっているが,後輩にはEUC-JPにするように指示を出していたり….そのうち直さないとなぁ…).が,Ubuntu文字コードUTF-8である.そのため,Ubuntucygwinから遠隔ログインしたときに日本語は文字化けを起こす.これを解決するために,cocotを使う.

■cocot・インストール

$ mkdir src
$ cd src
$ wget http://vmi.jp/software/cygwin/cocot-20080315.tar.bz2
$ tar jxvf cocot-20080315.tar.bz2
$ cd cocot-20080315
$ ./configure
$ make
$ make install

Ubuntuにインストールする場合は,最後のコマンドだけつぎのように変更する.

$sudo make install

■環境設定

$ infocmp cygwin > cygwin.terminfo %定義ファイルを作成
$ scp cygwin.terminfo [リモートホスト]:/tmp %定義ファイルをコピー
$ ssh -l username@リモートホスト
$ sudo tic /tmp/cygwin.terminfo %エントリーを追加

■使い方

$ cocot -t EUC-JP -p UTF-8  ssh username@リモートホスト

-t のあとにローカルの端末の文字コード,-p のあとにリモートの端末の文字コード

ゲートウェイマシンで自動的にSSH通信する場合

cocot -t EUC-JP -p UTF-8 ssh -t -X username@リモート ssh -X 192.168.hoge.hoge

というように打ち込めば良い.hoge.hogeのところには自分のマシンのIPアドレス