CygTermを使ってputtyからCygwinを利用する

コマンドプロンプトからshellを利用するのは非常に使いづらいので、puttyから利用できるようにします。これにはCygTermを利用します。

必要なパッケージのインストール

CygTermはCygwinの中からビルドするので、Cygwinのsetup.exeから必要なパッケージをインストールしておきます。

  • Devel/gcc4
  • Devel/make
  • Web/wget

コンパイラgccとgcc4がインストール可能ですが、とりあえずgcc4でうまくいきました。あとwgetは必須ではないですが、いちいちブラウザからダウンロードしてCygwinのフォルダにコピーしなくて良くなるので入れました。

CygTermのビルド

Cygwin環境でビルドします。

> wget http://www.dd.iij4u.or.jp/~nsym/cygwin/cygterm/cygterm107.tgz
> tar xzf cygterm107.tgz
> cd cygterm107
> make
> mkdir ~/bin
> make install

CygTerm設定ファイルの書き換え

C:\cygwin\home\{ユーザ名}\bin\cygterm.cfg を書き換えます。とりあえずTERM・ENV_2を書き換えました。書き換えに当たっては以下のページを参考にさせていただきました:

TERM = "{puttyフォルダ}\puttyjp.exe" -load "cygterm" -telnet %s -P %d
TERM_TYPE = vt100
PORT_START = 20000
PORT_RANGE = 40
SHELL = /bin/bash
ENV_1 = MAKE_MODE=unix
ENV_2 = HOME=/home/{ユーザ名}

ENV_2のホームディレクトリを適切に設定しないと、設定ファイルが読み込まれなくなって正しく動作しなくなります。

putty側の設定

以下の設定を参考にして"cygterm"という名前の設定を作成しました。ただし文字コードは"UTF-8"に変えてあります。

端末->行規則オプション->ローカルエコー を"強制的にオフ"
端末->行規則オプション->ローカルラインの編集 を"強制的にオフ"
端末->キーボード->バックスペースキー を"Control-H"に
ウインドウ->変換 で文字コードを"MS_Kanji/Auto-Detect Japanese"に

>my output

CygTerm起動

後は C:\cygwin\home\{ユーザ名}\bin\cygterm.exe を実行すると、自動的にputtyが起動して、そこからCygwin環境を利用できるようになります。ただしCygTern配布ページにも書いてあるのですが、cygterm.exeはcygwin1.dllに依存しているので、PATH環境変数に"C:\cygwin\bin"を追加する必要があります。

これでかなり使いやすくなった。