[Meadowで開発へ戻る]

Cygwin32環境

Cygwin32の入手

UNIXのシェル環境、ツール類をWindows上で実現します。ここではもっとも有名なCygnus社のCygwin32を使用します。Cygwinは、GNUライセンスにしたがってフリーで入手できます。また、パッケージ製品化(CD-ROM化)されたものを購入することもできます。

Cygwinホームページ(Cygnus社はRedHatに買収されましたが下記URLはまだ有効)
http://sourceware.cygnus.com/cygwin/

Cygwin 1.1

Cygwinの新しいバージョン1.1については、Cygwin 1.1のインストールと設定を参照ください。

Cygwin B20.1

ちょっと古いですが、まだまだ使っている人も多いCygwin β20.1の設定方法です。Cygwinβ20.1は、UNIX系ユーザコマンドのみからなるuser.exeと、開発用コマンド(make、gcc等)が含まれるfull.exeがあります。ここでは開発用のfull.exeを入手します。

FTPサイトからの入手

日本の各ringサーバから入手可能です。詳しくはCygnusホームページのダウンロード一覧にあります。手近なところから入手しましょう。

http://sourceware.cygnus.com/cygwin/download.html

雑誌付録CD-ROM

Cygwin Update

B20.1リリース以後、いろいろな改修が加わっています。もっとも簡単なUpdateは、Cygwinの中核となるcygwin1.dllを更新することです。cygwin1.dllは、上述FTPサイトからダウンロード可能です。snapshotsディレクトリの下に、cygwin1-19991109.dll.gzのように、cygwin1-<年月日>.dll.gzの形でアーカイブされ置かれています。これをダウンロードし、gzipで解凍し、ファイル名をcygwin1.dllに変更してから、/win32app/cygnus/cygwin-b20/H-i586-cygwin32/binの下にコピー(上書き)します。

[目次へ戻る]


インストールと設定

Cygnus Win32 B20.1のインストール

コンパイラ一式を含むフルパッケージ full.exe を入手し、実行します。インストールディレクトリを、例えば E:\win32app\cygnus に指定します。インストール完了後、スタートメニューのプログラム→Cygnus Solutionsの中のCygwin B20を起動します。これでWindows上でUNIXシェル(bash)が使えるコマンドウィンドウが開きます。

bashシェル上では、'\'がエスケープ記号として使われるので、'\'文字そのものを指定するには、'\\'と2つ重ねる必要があります。

bash環境設定

bashは起動時にホームディレクトリ上にある設定ファイル(.bashrc)を読み込んで環境設定を行います。ホームディレクトリのパスは、Windowsの環境変数HOMEを参照するので、あらかじめ環境変数HOMEにホームディレクトリとしたいパスを指定しておきます。WindowsNTならコントロールパネルのシステム→環境でユーザー環境変数欄に追加します。Windows95/98ならAUTOEXEC.BATに指定します。

設定ファイル例

.bashrcの例
.bash_aliasesの例

環境変数設定

Cygwinをインストールすると、グループCygnus Solutionsが作られ、Cygwin B20アイコンが登録されます。このアイコンからCygwinのコマンドシェルを起動すれば環境設定は自動的になされます。しかし、別なプロセス(DOS窓やMeadow中)からbashやその他UNIXコマンド群を使用する場合は、環境変数PATHにCygwinのバイナリが格納されているディレクトリを追加指定する必要があります。WindowsNTならコントロールパネルのシステム→環境でユーザ環境変数欄(またはAdministrator権限を持ったユーザでログインしてシステム環境変数欄)にあるPathの項目にCygwinのPATHを追加します。Windows95/98なら、AUTOEXEC.BATに追加します。

[目次へ戻る]


設定に関するTips

UNIXでは、ドライブ名がなく、ファイルシステムは'/'から始まる。Cygwin32環境では、OSの起動ドライブの\(通常はC:\)を/と見なします。この場合C:\以下のディレクトリには/から等価的にアクセスできますが、他のドライブ(D:\など)を指定できません。 Cygwin32では、'//ドライブ文字/ディレクトリ'で他のドライブをアクセスします。
例) A:\piyo\poyo.dat は、 //A/piyo/poyo.dat で指定します。
mount ツールを用いて、他のドライブやディレクトリを'/'の下の適切なディレクトリにマウントします。mountツールは、レジストリに記録されるので、いったん実行したら再起動後にはmountされています。
例) D:\local ディレクトリを、/local としてマウントする。(-bオプションは、テキストとバイナリを等価に扱う。
 mount -b d:\\local /local
ディレクトリ区切り子が\\と\が2つ重ねているのは、シェルbashが\をエスケープコードとして扱っているため、\そのものを表現するには\\と重ねる必要があるため。
bashのプロンプトに、カレントディレクトリを表示すると便利です。プロンプトに使われる文字列は、組み込み変数PS1に設定します。
PS1='\w$'
カレントディレクトリがあまり深くなると、プロンプトだけで1行を超えてしまいます。そこで、カレントディレクトリの最後の節だけ表示させると便利です。
PS1='\w$'

[目次へ戻る]