The CYGWIN environment variable is used to configure many global settings for the Cygwin runtime system. It contains the options listed below, separated by blank characters. Many options can be turned off by prefixing with no .
(no)binmode - if set, non-disk (e.g. pipe and COM ports) file opens default to binary mode (no CRLF translation) instead of text mode. Defaults to set (binary mode). By default, devices are opened in binary mode, so this option has little effect on normal cygwin operations. It does affect two things, however. For non-NTFS filesystems, this option will control the line endings for standard output/input/error for redirection from the Windows command shell. It will also affect the default translation mode of a pipe, although most shells set the pipe to binary by default.
check_case:level - THIS OPTION IS DEPRECATED. Don't use it unless you know what you're doing and don't see any way around it. And even then, this option is error prone, slows down Cygwin and not well maintained. This option controls the behavior of Cygwin when a user tries to open or create a file using a case different from the case of the path as saved on the disk. level is one of relaxed, adjust and strict.
relaxed which is the default behaviour simply ignores case. That's the default for native Windows applications as well.
adjust behaves mostly invisible. The POSIX input path is internally adjusted in case, so that the resulting DOS path uses the correct case throughout. You can see the result when changing the directory using a wrong case and calling /bin/pwd afterwards.
strict results in a error message if the case isn't correct. Trying to open a file Foo while a file fOo exists results in a "no such file or directory" error. Trying to create a file BAR while a file Bar exists results in a "Filename exists with different case" error.
codepage:[ansi|oem] - Windows console applications can use different character sets (codepages) for drawing characters. The first setting, called "ansi", is the default. This character set contains various forms of latin characters used in European languages. The name originates from the ANSI Latin1 (ISO 8859-1) standard, used in Windows 1.0, though the character sets have since diverged from any standard. The second setting selects an older, DOS-based character set, containing various line drawing and special characters. It is called "oem" since it was originally encoded in the firmware of IBM PCs by original equipment manufacturers (OEMs). If you find that some characters (especially non-US or 'graphical' ones) do not display correctly in Cygwin, you can use this option to select an appropriate codepage.
(no)dosfilewarning - If set, Cygwin will warn the first time a user uses an "MS-DOS" style path name rather than a POSIX-style path name. Defaults to set.
(no)envcache - If set, environment variable conversions (between Win32 and POSIX) are cached. Note that this is may cause problems if the mount table changes, as the cache is not invalidated and may contain values that depend on the previous mount table contents. Defaults to set.
(no)export - If set, the final values of these settings are re-exported to the environment as CYGWIN again. Defaults to off.
error_start:Win32filepath - if set, runs Win32filepath when cygwin encounters a fatal error, which is useful for debugging. Win32filepath is usually set to the path to gdb or dumper, for example C:\cygwin\bin\gdb.exe. There is no default set.
forkchunk:32768 - causes the fork() to copy memory some number of bytes at a time, in the above example 32768 bytes (32Kb) at a time. The default is to copy as many bytes as possible, which is preferable in most cases but may slow some older systems down.
proc_retry:n - causes the fork() and exec*() to retry n times when a child process fails due to certain windows-specific errors. These errors usually occur when processes are being started while a user is logging off.
(no)glob[:ignorecase] - if set, command line arguments containing UNIX-style file wildcard characters (brackets, question mark, asterisk, escaped with \) are expanded into lists of files that match those wildcards. This is applicable only to programs running from a DOS command line prompt. Default is set.
This option also accepts an optional [no]ignorecase modifer. If supplied, wildcard matching is case insensitive. The default is noignorecase
(no)ntea - if set, use NT Extended Attributes to store UNIX-like inode information. This option only operates under Windows NT. Defaults to not set. Only FAT and NTFS support Extended Attributes, not FAT32, so it's of no use there. Furthermore, on NTFS partitions ntsec, which provides real permissions, overrides ntea, which only provides faked permissions. So setting ntea only makes sense if you either have FAT partitions, or if you switch off ntsec explicitely.
This may create additional large files on FAT partitions.
(no)ntsec - if set, use the NT security model to set UNIX-like permissions on files and processes. The file permissions can only be set on NTFS partitions. FAT/FAT32 don't support the NT file security. Defaults to set. For more information, read the documentation in the section called “NT security and usage of ntsec”.
(no)smbntsec - if set, use ntsec on remote drives as well (default is "nosmbntesc"). When setting "smbntsec" there's a chance that you get problems with Samba shares so you should use this option with care. One reason for a non working ntsec on remote drives could be insufficient permissions of the users. The requires user rights are somewhat dangerous (SeRestorePrivilege), so it's not always an option to grant that rights to users. However, this shouldn't be a problem in NT domain environments.
(no)reset_com - if set, serial ports are reset to 9600-8-N-1 with no flow control when used. This is done at open time and when handles are inherited. Defaults to set.
(no)server - if set, allows client applications to use the Cygserver facilities. This option must be enabled explicitely on the client side, otherwise your applications won't be able to use the XSI IPC function calls (msgget, semget, shmget, and friends) successfully. These function calls will return with ENOSYS, "Bad system call".
(no)strip_title - if set, strips the directory part off the window title, if any. Default is not set.
(no)title - if set, the title bar reflects the name of the program currently running. Default is not set. Note that under Win9x the title bar is always enabled and it is stripped by default, but this is because of the way Win9x works. In order not to strip, specify title or title nostrip_title.
(no)transparent_exe - EXPERIMENTAL. Only use this option if you're confident to be able to live with the consequences. If set, several additional functions in Cygwin will handle files with .exe suffix transparently. These functions are link(2), open(2), rename(2), symlink(2), unlink(2), pathconf(3). So far, these functions have been treated as too dangerous to act on files with .exe suffix if the .exe suffix wasn't given explicitely in the file name argument, and this is still the case if the transparent_exe option is not set. Default is not set.
(no)traverse - This option only affects NT systems. If set, Cygwin handles file permissions so that the parent directories' permissions are checked, as it's default on POSIX systems. If not set, only the file's own permissions are taken into account. This is the default on Windows and called "bypass traverse checking". Default was "traverse" in version 1.5.13 and 1.5.14. Beginning with 1.5.15, traverse checking is disabled again since it's not correctly implemented by Microsoft and it's behaviour is getting worse with each new OS version. Unprivileged terminal server sessions are practically impossible with traverse checking switched on. So, use at your own risk.
(no)tty - if set, Cygwin enables extra support (i.e., termios) for UNIX-like ttys in the Windows console. It is not compatible with some Windows programs. Defaults to not set, in which case the tty is opened in text mode. Note that this has been changed such that ^D works as expected instead of ^Z, and is settable via stty. This option must be specified before starting a Cygwin shell and it cannot be changed in the shell. It should not be set when using other terminals (i.e., rxvt or xterm).
(no)winsymlinks - if set, Cygwin creates symlinks as Windows shortcuts with a special header and the R/O attribute set. If not set, Cygwin creates symlinks as plain files with a magic number, a path and the system attribute set. Defaults to set.