CygwinはWindows上で動くプログラムで、Unixの端末としてはコマンドプロンプトを使うことになる。 でもコマンドプロンプトは最大化しても幅が広がらなくて不便。 できればTeraTermやPuTTYのような端末エミュレータを使いたい。 xtermを使うという手もあるけど、Windows環境との親和性を考えるとやっぱりWindowsで動く端末エミュレータがいい。 そんなあなたにCygTerm。
Cygwin1.7になってしばらく経った頃に、こっそりmintty(Cygwin Terminal)というのが入るようになった。 baseカテゴリに入っているので、今はデフォルトで入るようになっているはず。 このプログラム、PuTTYベースでしかもEUCが通るので、先にこちらを試したほうがいいかもしれない。 スタートメニュー / Cygwin / Cygwin Terminal がそれ。 デスクトップのアイコンもminttyへのショートカットに変更されたような気がするけど、よく覚えてない。
ターミナル・エミュレータによる Cygwin コンソール http://www.dd.iij4u.or.jp/~nsym/cygwin/cygterm/
何を言っているのか言葉だけではよく分からないかもしれませんが、人間が実行を指示するのはCygTermです。 CygTermが端末エミュレータとシェルを立ち上げてその橋渡しをするので、CygTermを実行するとおもむろに端末エミュレータが立ち上がってその中でシェルが動くという不思議な動きになります。
・Cygwinの開発環境(GCC・make)が必要なので入れておく。
$ tar xfz cygterm107.tgz
$ cd cygterm107
$ make install
・/usr/local/binにインストールしに行くので、書き込めない場合は書き込めるユーザーで。
ここではPuTTYの場合について説明します。
・まず、PuTTYでCygTerm用の設定を作ります。
・[Session] / [Connection type] を「telnet」に。
・[Window] / [Appearance] でお好きなフォントに。
・[Window] / [Translation] の [Character set translation on received data] で「Use font encoding」を選んでおけば、たいてい何とかなります。
・あとはお好きな設定に。
・適当な名前で保存。ここで保存した設定名をcygterm.cfgの設定で使います。
・次に、CygTerm側の設定を行います。
・CygTermをインストールしたフォルダにcygterm.cfgがあるので編集します。
・TERMの行を「TERM = putty.exeのWin32フルパス -load 保存した設定名 %s %d」と書き換える。
− 例えば TERM = C:\program files\putty\putty.exe -load cygterm %s %d
補足: CygTermは上記の%sをホスト名に、%dをポート番号に置き換えて、CreateProcess Win32 APIを呼び出します。 この置き換えがsprintfで行われている(!)ので、%sと%dは必ずこの順でなければなりません。 つまり「-load cygterm -P %d %s」では動かないので注意。
あとはCygTermを実行するだけ。 CygTermのショートカットをデスクトップに作っておくと便利。
パスを通しておくと、コマンドプロンプトから cygterm でも実行できるし、CygTermから立ち上げた端末エミュレータの中からも cygterm & で新しい端末エミュレータが立ち上がって便利。 コマンドラインから設定の一部を変更して立ち上げることもできる。
つまり、好きな端末設定で、好きな環境を指定して、任意のスクリプトを、端末エミュレータの中で実行できる。
Windows上でCygTermのショートカットを作り、プロパティで「リンク先」にこのコマンドラインを書いておくと、DOS窓を通さずに端末エミュレータ内でスクリプトを実行できる。
Copyright (C) 2009 You SUZUKI
$Id: cygterm.htm,v 1.4 2017/05/10 05:36:43 you Exp $