GUIプログラムリファレンス


GUIフロントエンドについての注意

本節では、主として個々のGUIフロントエンドの「オプション」グループボックスに含まれるオプションの意味を説明します(GUIフロントエンドの共通機能については、「共通」を参照してください)。たとえば、次の図を見てください。

 

 

これは、cat)プログラムのオプショングループです。ここでたとえば、「-s: 複数の空行を1行にまとめる」というオプションをチェックして、「実行」ボタンを押すと、の「設定」ダイアログボックスで選択されたコマンド行ツールパスに-sオプションを付加した形のコマンド行が組み立てられて、実行されます。注意していただきたいのは、「複数の空行を1行にまとめる」という説明は、PCK付属のcat.exePCKがモデルとしているcygwinツール(http://sources.redhat.com/cygwin/)のcat.exeには当てはまりますが、「設定」ダイアログボックスで、これらとはまったく異なるオプション体系を持つcat.exeを選択した場合、あるいは、cat.exeとはまったく異なるプログラムを選択してしまった場合には、当てはまらないということです。それでも、-sオプションは、PCKcygwin2つのバージョンに共通に存在するだけまだマシな方です。cygwin版のcat.exe-Cとか-Lといったオプションを指定すると、エラーメッセージが表示されるだけで、意味のある処理は実行されません。

このように、GUIフロントエンドは、対応するコマンド行ツールによって大きく影響を受けます。実際、GUIフロントエンドの作者である私が知らないうちに、コマンド行ツールに新しい重要なオプションが追加されたら、GUIフロントエンドの有用性は大幅に低下してしまうでしょう。

そこで、GUIフロントエンド(及びフロントエンドではないGUIプログラム)は、アイコンの漢字の色で色分けしてあります。PCKでコマンド行ツールを提供しているものとそうでないものを一目で見分けられるようにしているわけです。

 

 対応するコマンド行ツールを持たないGUIフロントエンド。pipe line)、command line)、sb)、tv)、bg)の5種類。

マゼンタ Windows 9x/Me系のシステムのみに付属するコマンド行ツールとあらゆるバージョンのWindowsに付属するコマンド行ツールを対象として設計されているフロントエンド。dir)、find)、sort)の3種類。

シアン Windows NT/2000系のシステムのみに付属するコマンド行ツールを対象として設計されているフロントエンド。dir)、findstr)の2種類。

 PCK付属のコマンド行ツールを対象として設計されているフロントエンド。cat)、cut)、expand)、fold)、head)、ls)、od)、od –s)、paste)、tail)、unexpand)、uniq)、wc)、bin2hex)、ran)、fortune)、randstr)の17種類。このうち、までの13種類は、cygwinツールをモデルとして、若干の変更を加えて作られています(もっとも、cygwinのソースは見ないで作っています)。は私が適当に作ってしまったプログラムです。は、Debian系のサイトに掲載されていたソースコードに私が手を入れてWindowsで動作するようにしたものです。

黄緑 その他のコマンド行ツールを対象として設計されているフロントエンド。dumpbin)、diff)、sort)、grep)、sed)、awk)、perl)、python)、ruby)の9種類。

グレー パイプラインの途中から出力を提供するフロントエンド。青にしてもよかったところですが、実行することが非常に特殊であり、操作を間違えるとファイルを壊すことがありますので、注意が必要という意味も込めて別の色にしました。tee)のみ。

 単独で動作するGUIプログラム。board)、touch)、el)、pckbps)、pcksetup)の5種類。

 

ここからもおわかりいただけるように、色分けは主として私がどの程度責任を持てるかということを基準にしています。Windows 9x/Me系のシステムにしかインストールされず、Windows NT/2000系のシステムにしかインストールされませんので、Windows付属ツールを対象とするフロントエンドには特別な色を割り当てましたが、要するに青以外の色のフロントエンドの説明は、公式のドキュメントにはなり得ない性質を持っていることに注意してください。一部、かなり突っ込んだ説明を加えた項目もありますが、それらは一ユーザーとしての私の観察に基づく記述ですので、そのつもりで読んでください(なお、cygwintextutilver.2.0gnu diffver.2.7gnu grepver.2.2Perlver.5.6.0Pythonver.2.0Rubyver.1.6.1を参照しています。その他のものについては、個々のフロントエンドの項で紹介したWWWページからダウンロードできるバージョンを参照しています)。

コマンド行ツールについての注意

GUIフロントエンドの「オプション」グループボックスについて説明すると、PCKのコマンド行ツールについては、ほとんど説明すべきことは残っていませんので、コマンド行ツールについてのリファレンスページは設けません。ただし、いくつか注意していただきたいことをここで触れておきます。

1つは、コマンド行ツールに対して指定できるすべてのオプションがGUIフロントエンドに含まれているわけではないということです。たとえば、上記のcat.exeには、-tオプションというものがありますが、-T-vを組み合わせれば指定できますので、フロントエンドのには、-tオプションを指定するためのボタンはありません。ほとんどのフロントエンドには、コマンド行ツール自体のヘルプメッセージを表示するためのボタンが含まれていますので、フロントエンドに含まれていないオプションを調べたい場合には、それを使ってください。

2つ目は、バッチファイル、MS-DOS/コマンドプロンプトウィンドウ、などでコマンド行を直接実行しようとするときのヒントです。通常、コマンド行は、「コマンド名 オプション 入力ファイル名」というように文字列を並べたものだと考えられています。この理解にはまったく問題はありませんが、cygwinツールは「コマンド名 オプションの一部 入力ファイル名 オプションの残り」というような形のコマンド行も受け付けます。この動作は、PCKでも真似ることにしました(ただし、fortune.exerandstr.exestrfile.exeを除く)。オプションを無理に入力ファイルの前に入力しなくても済むことを知っていると、キー入力が楽です。また、GUIフロントエンドは、たとえば-s -tのように11つのオプションを別個に指定していますが、コマンド行で使うときには、-stのようにまとめて指定することができます。さらに、cat-cのようにパラメータを必要とするオプションでは、-cpromptのようにオプションのすぐ後ろにパラメータを書いても、-c promptのようにスペースを開けてもかまいません。-c-sを同時に指定する場合、-scpromptのように、-sを先に指定すれば、問題なく両方のオプションを指定できます。

3つ目は、Unicodeのことです。fortune関連のものを除くPCKのコマンド行プログラムは、UnicodeANSIのどちらのファイルを読み込むこともできますが、出力には常にANSIコードを使います。これは、Windows 2000sort.exeの動作を真似たものです。しかし、文字列のコード体系がUnicodeかどうかを判断するWindowsのサービスは、ときどき判断を誤ることがあります。そこで、PCKのこれらのコマンド行プログラムには、入力がどちらのコードかを明示的に指定するためのオプションが含まれています。しかし、これらのオプションは、cygwinツールのプログラムには当然ながらありません。そのため、cygwinプログラムを使うときにこれらのオプションを指定するとエラーになります。以外の青アイコンのフロントエンドには、これらのオプションのためのラジオボタンが含まれていますが、このことに注意して使ってください。

4つ目は、メタキャラクタ(特殊文字)の問題です。これについては、「入力の指定」の「直接指定」で詳しく説明しましたので、参照してください。