CYGWIN 環境変数は Cygwin
実行環境に対する共通の設定を行うために使用されます。
この環境変数には以下に記述するオプションが含まれ、個々のオプションは空白文字で区切られます。
多くのオプションは前置詞「no」を置くことによってその機能をオフにすることが出来ます。
(no)binmode -
設定された場合、ディスク上に存在しないファイル(パイプや
COM ポート)をオープンする際のデフォルトが、テキストモードの代わりに(CRLF
変換を行わない)バイナリモードとなります。デフォルトでは設定(バイナリモード)されています。
デフォルトでは、デバイスはバイナリモードで開かれるので、このオプションは通常の Cygwin の操作に多少の影響を与えます。
しかし、二つの影響が発生します。NTFS 以外のファイルシステムでは、このオプションは Windows
コマンドシェルからの標準出力 / 標準入力 / 標準エラー出力をリダイレクトする際、行の終端をコントロールします。
また、殆どのシェルはデフォルトでパイプをバイナリモードに設定するとは言え、パイプの変換モードのデフォルトにも影響を与えます。
check_case:level -
既にディスク上に存在するパスとは大文字小文字の種別が異なるファイルをオープン、或いは作成しようとした際の Cygwin の動作を制御します。
level は relaxed、
adjust そして strict
の何れかです。
relaxed
はデフォルトの動作であり、大文字小文字の違いを無視します。
これはネイティブ Windows アプリケーションにおける標準的な動作です。
adjust
は大抵目に見えないように動作します。
結果として生じる DOS パスの大文字小文字の違いが完全に正しいものとなるように、
POSIX 入力パスは内部的に大文字小文字の違いを修正されます。
大文字小文字を違えたディレクトリ名を使用してディレクトリを変更した後、
/bin/pwd を実行すればこの結果を確かめることが出来るでしょう。
strict
は大文字小文字が異なる場合にエラーメッセージを表示します。
ファイル fOo が存在する状況でファイル
Foo をオープンしようとした場合、
「no such file or directory」というエラーが発生します。
ファイル Bar が存在する状況でファイル
BAR を作成しようとすると、
「Filename exists with different case」というエラーが発生します。
codepage:[ansi|oem] -
Windows のコンソールアプリケーションは、文字の描画のために異なる文字セット(コードページ)を使用します。
最初の設定は「ansi」と呼ばれ、これがデフォルトとなっています。
この文字セットには、ヨーロッパの言語で利用される様々な形のラテン文字が含まれています。この名前は
ANSI Laten1(ISO 8859-1)標準から来ており、Windows 1.0 から使われていますが、この文字セットは他のあらゆる標準とは異なったものとなっています。
第二の設定はより古い、様々な行描画用文字と特殊文字を含んでいる
DOS ベースの文字セットを選択するためのものです。この文字セットは元々、相手先商標製造(OEM)による IBM PC
のファームウェアに含まれていたものであり、そのため「oem」と呼ばれています。
幾つかの文字(特に米国では利用されない文字や「グラフィカル文字」など)は
Cygwin では表示されないということに気が付くでしょうが、そのような場合はこのオプションで適切なコードページを選択して下さい。
(no)envcache -
設定された場合、(Win32 と POSIX の間での)環境変数の変換がキャッシュされます。
マウントテーブルが変更された場合でもキャッシュは無効とならず、
それまでのマウントテーブルの内容に依存した値を含んだままになるため、
問題を起こすかもしれません。デフォルトで設定されています。
(no)export -
設定された場合、これらの設定値の最終的な値が CYGWIN
として再度エクスポートされます。デフォルトでは設定されていません。
error_start:Win32filepath -
設定された場合、Cygwin で重大なエラーが発生した際に
Win32filepath が起動されます。
これはデバッグ時に有用です。
Win32filepath は通常、gdb
又は dumper プログラムへのパスに設定されます。
例えば、C:\cygwin\bin\gdb.exe
のようになるでしょう。デフォルトでは設定されていません。
forkchunk:32768 -
は fork() が一回に何バイトをコピーするかを指定します。
上記の例では、一回に 32768 バイト(32KB)がコピーされます。
デフォルトは、可能な限り大きなバイト数をコピーします。
これは多くのケースにおいて望ましい動作ですが、他の古いシステムを遅くしてしまいます。
(no)glob[:ignorecase] -
設定された場合、UNIX スタイルのファイルワイルドカード文字
(ブラケット、引用符、アステリスク、\ によるエスケープ)
を含むコマンドライン引数は、
それらのワイルドカードにマッチしたファイルのリストへと展開されます。
これは DOS コマンドラインプロンプトから実行されるプログラムに対してのみ適用されます。
デフォルトでは設定されています。
本オプションは追加の [no]ignorecase
修飾子もまた取ることが出来ます。追加された場合、
ワイルドカードのマッチングは大文字小文字を無視して行われます。
デフォルトは noignorecase です。
(no)ntea -
設定された場合、UNIX 風の i ノード情報の格納のために全ての NT 拡張属性を使用します。
このオプションは Windows NT でのみ使用可能です。デフォルトでは設定されていません。
非 NTFS パーティション上では、追加の 巨大な ファイルが作成されることになります。
(no)ntsec -
設定された場合、NT のセキュリティモデルを利用して
UNIX 風のファイルとプロセスに対するパーミッション設定を実現します。
ファイルパーミッションは NTFS パーティションにのみ適用できます。
FAT 上では NT ファイルセキュリティはサポートされません。
デフォルトでは設定されています。更なる情報については 項2.3. 「NT セキュリティと ntsec の使用方法」 を参照して下さい。
(no)smbntsec -
設定された場合、「ntsec」はリモートドライブ上でも同様に動作します(これがデフォルトです)。
NT 共有又は Samba ドライブ上で問題が発生した場合、nosmbntsec を設定すればよいでしょう。
この場合、パーミッションと所有者 / グループの情報は FAT
パーティション上と同様に偽装されます。リモートドライブ上で ntsec
が動作しないのは、ユーザのパーミッションが不十分なことによります。
必要となるユーザ権利(SeRestorePrivilege)が幾分危険なものとなるので、ユーザの権利を承認するオプションは常に与えられているわけではありません。しかしながら、NT ドメインではこの問題は発生しないでしょう。
(no)reset_com -
設定された場合、シリアルポートは使用時に
9600-8-N-1、フロー制御なしにリセットされます。
これはポートがオープンされた時点、及びハンドルが引き継がれた時点で行われます。デフォルトでは設定されています。
(no)server -
設定された場合、クライアントアプリケーションは Cygserver の機能を利用します。
このオプションは明示的にクライアントサイドで有効化されるべきものであり、そうでなければアプリケーションは
XSI IPC 関数呼び出し(msgget、semget、shmget
及びそれに類するもの)を利用出来ません。設定されていない場合、これらの関数群は
ENOSYS(Bad system call)を返すでしょう。
(no)strip_title -
設定された場合、常にウィンドウタイトルからディレクトリ部分が削除されます。
デフォルトでは設定されていません。
(no)title -
設定された場合、タイトルバーに現在実行しているプログラム名を表示します。デフォルトでは設定されていません。
Windows 9x ではタイトルバーは常に有効であり、ストリップされていると考えるかもしれませんが、しかしこれは
Windows 9x の仕業です。ストリップしないようにするには、title 又は
title nostrip_title を指定します。
(no)tty -
設定された場合、Cygwin は UNIX 風の tty に対する(termios などの)拡張サポートを有効にします。
これは一部の Windows プログラムとの間で互換性がありません。
デフォルトでは設定されていませんが、この場合 tty はテキストモードでオープンされます。
このオプションを設定すれば ^Z に代わって ^D が期待通りに動作するようになり、stty
による設定が可能となることに注意して下さい。このオプションは
Cygwin シェルが開始される前に設定されていなければならず、シェルからは変更できません。
(no)winsymlinks -
設定された場合、Cygwin は特別なヘッダを持ち、読み取り専用属性が設定された
Windows ショートカットとしてシンボリックリンクを作成します。
設定されなかった場合、Cygwin はあるマジックナンバ、パス、そしてシステム属性を持った通常ファイルとしてシンボリックリンクを作成します。デフォルトでは設定されています。