Cygwin+mintty、Windowsの対話型コンソールアプリを正しく実行できない

現象

irbとかmysqlとかscalaとか、対話型の非Cygwinアプリがmintty上で正しく実行できません!
症状としては

  • 何の反応もない
  • 何を入力しても応答が帰ってこない

などなど。

解決策

これは開発コミュニティに認識されている問題で、minttyのptyエミュレーションとwin32 console appの非互換性がどうのこうの(ref: http://code.google.com/p/mintty/issues/detail?id=56 )

開発中のconinユーティリティ*1を使用することで動くようになるかもしれません。裏でWin32コンソールを生成して入出力をminttyにリダイレクトするような仕組みらしい。
現時点での最新版: http://mintty.googlecode.com/files/conin-0.0.2.zip

conin-0.0.2時点の制限として、

  • マルチバイト文字は入力できない
  • これを使ってもうまく動かないアプリがある(mysqlとか)