本節では、主として個々のGUIフロントエンドの「オプション」グループボックスに含まれるオプションの意味を説明します(GUIフロントエンドの共通機能については、「共通機能」を参照してください)。たとえば、次の図を見てください。
これは、猫(cat)プログラムのオプショングループです。ここでたとえば、「-s: 複数の空行を1行にまとめる」というオプションをチェックして、「実行」ボタンを押すと、猫の「設定」ダイアログボックスで選択されたコマンド行ツールパスに-sオプションを付加した形のコマンド行が組み立てられて、実行されます。注意していただきたいのは、「複数の空行を1行にまとめる」という説明は、PCK付属のcat.exeやPCKがモデルとしているcygwinツール(http://sources.redhat.com/cygwin/)のcat.exeには当てはまりますが、「設定」ダイアログボックスで、これらとはまったく異なるオプション体系を持つcat.exeを選択した場合、あるいは、cat.exeとはまったく異なるプログラムを選択してしまった場合には、当てはまらないということです。それでも、-sオプションは、PCKとcygwinの2つのバージョンに共通に存在するだけまだマシな方です。cygwin版のcat.exeに-Cとか-Lといったオプションを指定すると、エラーメッセージが表示されるだけで、意味のある処理は実行されません。
このように、GUIフロントエンドは、対応するコマンド行ツールによって大きく影響を受けます。実際、GUIフロントエンドの作者である私が知らないうちに、コマンド行ツールに新しい重要なオプションが追加されたら、GUIフロントエンドの有用性は大幅に低下してしまうでしょう。
そこで、GUIフロントエンド(及びフロントエンドではないGUIプログラム)は、アイコンの漢字の色で色分けしてあります。PCKでコマンド行ツールを提供しているものとそうでないものを一目で見分けられるようにしているわけです。
赤 対応するコマンド行ツールを持たないGUIフロントエンド。管(pipe line)、行(command line)、見(sb)、木(tv)、背(bg)の5種類。
青 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付属ツールを対象とするフロントエンドには特別な色を割り当てましたが、要するに青以外の色のフロントエンドの説明は、公式のドキュメントにはなり得ない性質を持っていることに注意してください。一部、かなり突っ込んだ説明を加えた項目もありますが、それらは一ユーザーとしての私の観察に基づく記述ですので、そのつもりで読んでください(なお、cygwinのtextutilはver.2.0、gnu diffはver.2.7、gnu grepはver.2.2、Perlはver.5.6.0、Pythonはver.2.0、Rubyはver.1.6.1を参照しています。その他のものについては、個々のフロントエンドの項で紹介したWWWページからダウンロードできるバージョンを参照しています)。
GUIフロントエンドの「オプション」グループボックスについて説明すると、PCKのコマンド行ツールについては、ほとんど説明すべきことは残っていませんので、コマンド行ツールについてのリファレンスページは設けません。ただし、いくつか注意していただきたいことをここで触れておきます。
1つは、コマンド行ツールに対して指定できるすべてのオプションがGUIフロントエンドに含まれているわけではないということです。たとえば、上記のcat.exeには、-tオプションというものがありますが、-Tと-vを組み合わせれば指定できますので、フロントエンドの猫には、-tオプションを指定するためのボタンはありません。ほとんどのフロントエンドには、コマンド行ツール自体のヘルプメッセージを表示するためのボタンが含まれていますので、フロントエンドに含まれていないオプションを調べたい場合には、それを使ってください。
2つ目は、バッチファイル、MS-DOS/コマンドプロンプトウィンドウ、行などでコマンド行を直接実行しようとするときのヒントです。通常、コマンド行は、「コマンド名 オプション 入力ファイル名」というように文字列を並べたものだと考えられています。この理解にはまったく問題はありませんが、cygwinツールは「コマンド名 オプションの一部 入力ファイル名 オプションの残り」というような形のコマンド行も受け付けます。この動作は、PCKでも真似ることにしました(ただし、fortune.exe、randstr.exe、strfile.exeを除く)。オプションを無理に入力ファイルの前に入力しなくても済むことを知っていると、キー入力が楽です。また、GUIフロントエンドは、たとえば-s -tのように1つ1つのオプションを別個に指定していますが、コマンド行で使うときには、-stのようにまとめて指定することができます。さらに、catの-cのようにパラメータを必要とするオプションでは、-cpromptのようにオプションのすぐ後ろにパラメータを書いても、-c promptのようにスペースを開けてもかまいません。-cと-sを同時に指定する場合、-scpromptのように、-sを先に指定すれば、問題なく両方のオプションを指定できます。
3つ目は、Unicodeのことです。fortune関連のものを除くPCKのコマンド行プログラムは、Unicode、ANSIのどちらのファイルを読み込むこともできますが、出力には常にANSIコードを使います。これは、Windows 2000のsort.exeの動作を真似たものです。しかし、文字列のコード体系がUnicodeかどうかを判断するWindowsのサービスは、ときどき判断を誤ることがあります。そこで、PCKのこれらのコマンド行プログラムには、入力がどちらのコードかを明示的に指定するためのオプションが含まれています。しかし、これらのオプションは、cygwinツールのプログラムには当然ながらありません。そのため、cygwinプログラムを使うときにこれらのオプションを指定するとエラーになります。運、占以外の青アイコンのフロントエンドには、これらのオプションのためのラジオボタンが含まれていますが、このことに注意して使ってください。
4つ目は、メタキャラクタ(特殊文字)の問題です。これについては、「入力の指定」の「直接指定」で詳しく説明しましたので、参照してください。