2004-12-24 22:58:38 +01:00
|
|
|
<sect1 id="using-cygwinenv"><title>The <envar>CYGWIN</envar> environment
|
2000-02-17 20:38:33 +01:00
|
|
|
variable</title>
|
|
|
|
|
2008-07-17 13:49:45 +02:00
|
|
|
<sect2 id="cygwinenv-implemented-options">
|
|
|
|
<title>Implemented options</title>
|
|
|
|
|
2004-12-24 22:58:38 +01:00
|
|
|
<para>The <envar>CYGWIN</envar> environment variable is used to configure
|
2000-02-17 20:38:33 +01:00
|
|
|
many global settings for the Cygwin runtime system. It contains the options
|
|
|
|
listed below, separated by blank characters. Many options can be turned off
|
2008-07-17 13:49:45 +02:00
|
|
|
by prefixing with <literal>no</literal>.</para>
|
2000-02-17 20:38:33 +01:00
|
|
|
|
2004-12-24 22:58:38 +01:00
|
|
|
<itemizedlist mark="bullet">
|
2003-02-03 01:30:45 +01:00
|
|
|
|
|
|
|
<listitem>
|
2008-07-17 13:49:45 +02:00
|
|
|
<para><envar>codepage:[ansi|oem|utf8]</envar> - This option controls
|
|
|
|
which single- or multibyte character set is used for file and console
|
|
|
|
operations. Windows is using UTF-16 characters internally and this
|
|
|
|
option specifies how 8-byte character sets are converted to UTF-16 and
|
|
|
|
vice versa. The default setting is <envar>ansi</envar> which means,
|
|
|
|
conversion is based on the current ANSI codepage, typically 1252 in
|
|
|
|
many Western language versions of Windows. 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 <envar>oem</envar>
|
|
|
|
since it was originally encoded in the firmware of IBM PCs by original
|
|
|
|
equipment manufacturers (OEMs).</para>
|
|
|
|
<para>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. Finally, <envar>utf8</envar> treats all file names
|
|
|
|
and console characters as UTF-8 chars. Please note that, for correct
|
|
|
|
operation, you have to set the environment variable LC_CTYPE to "C-UTF-8"
|
|
|
|
for the time being. The reason is that newlib's multibyte conversion
|
|
|
|
functions require this setting.</para>
|
2003-02-03 01:30:45 +01:00
|
|
|
</listitem>
|
|
|
|
|
2006-08-01 20:06:49 +02:00
|
|
|
<listitem>
|
|
|
|
<para><envar>(no)dosfilewarning</envar> - 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.</para>
|
|
|
|
</listitem>
|
|
|
|
|
2001-04-12 23:52:38 +02:00
|
|
|
<listitem>
|
2004-01-11 09:32:09 +01:00
|
|
|
<para><envar>(no)envcache</envar> - If set, environment variable
|
2008-07-17 13:49:45 +02:00
|
|
|
conversions (between Win32 and POSIX) are cached. Note that this may
|
2000-02-17 20:38:33 +01:00
|
|
|
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.</para>
|
|
|
|
</listitem>
|
2008-07-17 13:49:45 +02:00
|
|
|
|
2000-02-17 20:38:33 +01:00
|
|
|
<listitem>
|
2006-08-01 20:06:49 +02:00
|
|
|
<para><envar>(no)export</envar> - If set, the final values of these
|
2004-01-11 09:32:09 +01:00
|
|
|
settings are re-exported to the environment as <envar>CYGWIN</envar> again.
|
|
|
|
Defaults to off.</para>
|
2000-02-17 20:38:33 +01:00
|
|
|
</listitem>
|
2008-07-17 13:49:45 +02:00
|
|
|
|
2000-02-17 20:38:33 +01:00
|
|
|
<listitem>
|
2004-03-27 07:48:11 +01:00
|
|
|
<para>
|
|
|
|
<envar>error_start:Win32filepath</envar> - if set, runs
|
|
|
|
<filename>Win32filepath</filename> when cygwin encounters a fatal error,
|
|
|
|
which is useful for debugging. <filename>Win32filepath</filename> is
|
|
|
|
usually set to the path to <command>gdb</command> or
|
|
|
|
<command>dumper</command>, for example
|
|
|
|
<filename>C:\cygwin\bin\gdb.exe</filename>.
|
|
|
|
There is no default set.
|
|
|
|
</para>
|
2004-01-11 09:32:09 +01:00
|
|
|
</listitem>
|
2008-07-17 13:49:45 +02:00
|
|
|
|
2004-01-11 09:32:09 +01:00
|
|
|
<listitem>
|
2006-03-13 22:02:37 +01:00
|
|
|
<para><envar>forkchunk:32768</envar> - causes the <function>fork()</function>
|
2004-01-11 09:32:09 +01:00
|
|
|
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.
|
2004-01-24 09:09:45 +01:00
|
|
|
</para>
|
2004-01-11 09:32:09 +01:00
|
|
|
</listitem>
|
2008-07-17 13:49:45 +02:00
|
|
|
|
2004-01-11 09:32:09 +01:00
|
|
|
<listitem>
|
2006-04-03 05:37:52 +02:00
|
|
|
<para><envar>proc_retry:n</envar> - causes the <function>fork()</function> and <function>exec*()</function>
|
|
|
|
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.
|
2006-03-13 22:02:37 +01:00
|
|
|
</para>
|
|
|
|
</listitem>
|
2008-07-17 13:49:45 +02:00
|
|
|
|
2006-03-13 22:02:37 +01:00
|
|
|
<listitem>
|
2004-01-11 09:32:09 +01:00
|
|
|
<para><envar>(no)glob[:ignorecase]</envar> - if set, command line arguments
|
2000-02-17 20:38:33 +01:00
|
|
|
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.</para>
|
2000-11-19 05:53:46 +01:00
|
|
|
<para>This option also accepts an optional <literal>[no]ignorecase</literal> modifer.
|
|
|
|
If supplied, wildcard matching is case insensitive. The default is <literal>noignorecase</literal></para>
|
2000-02-17 20:38:33 +01:00
|
|
|
</listitem>
|
2008-07-17 13:49:45 +02:00
|
|
|
|
2000-12-19 21:14:34 +01:00
|
|
|
<listitem>
|
2004-01-11 09:32:09 +01:00
|
|
|
<para><envar>(no)reset_com</envar> - if set, serial ports are reset
|
2000-02-17 20:38:33 +01:00
|
|
|
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.</para>
|
|
|
|
</listitem>
|
2008-07-17 13:49:45 +02:00
|
|
|
|
2004-02-20 08:26:16 +01:00
|
|
|
<listitem>
|
2004-01-11 09:32:09 +01:00
|
|
|
<para><envar>(no)strip_title</envar> - if set, strips the directory
|
2000-02-17 20:38:33 +01:00
|
|
|
part off the window title, if any. Default is not set.</para>
|
|
|
|
</listitem>
|
2008-07-17 13:49:45 +02:00
|
|
|
|
2000-02-17 20:38:33 +01:00
|
|
|
<listitem>
|
2004-01-11 09:32:09 +01:00
|
|
|
<para><envar>(no)title</envar> - if set, the title bar
|
2000-02-17 20:38:33 +01:00
|
|
|
reflects the name of the program currently running. Default is not
|
2008-07-17 13:49:45 +02:00
|
|
|
set.</para>
|
2000-02-17 20:38:33 +01:00
|
|
|
</listitem>
|
2008-07-17 13:49:45 +02:00
|
|
|
|
2000-02-17 20:38:33 +01:00
|
|
|
<listitem>
|
2004-01-11 09:32:09 +01:00
|
|
|
<para><envar>(no)tty</envar> - if set, Cygwin enables extra support
|
2005-07-10 21:39:31 +02:00
|
|
|
(i.e., termios) for UNIX-like ttys in the Windows console.
|
2000-02-17 20:38:33 +01:00
|
|
|
It is not compatible with some Windows programs.
|
2004-02-20 08:26:16 +01:00
|
|
|
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 <command>stty</command>.
|
2000-02-17 20:38:33 +01:00
|
|
|
This option must be specified before starting a Cygwin shell
|
2005-07-10 21:39:31 +02:00
|
|
|
and it cannot be changed in the shell. It should not be set when using
|
|
|
|
other terminals (i.e., rxvt or xterm).
|
|
|
|
</para>
|
2000-02-17 20:38:33 +01:00
|
|
|
</listitem>
|
2008-07-17 13:49:45 +02:00
|
|
|
|
2008-11-11 11:51:45 +01:00
|
|
|
<listitem>
|
|
|
|
<para><envar>(no)upcaseenv</envar> - if set, Cygwin converts all
|
|
|
|
environment variables to all-uppercase, when a Cygwin process is started
|
|
|
|
from a non-Cygwin native Windows process. This is how it has been done
|
|
|
|
until Cygwin 1.5. If not set, Cygwin does not change the case of environment
|
|
|
|
variables, except for a restricted set to maintain minimal backward
|
|
|
|
compatibility and for correct handling of certain essential variables.
|
|
|
|
The current list of always uppercased variables is:</para>
|
|
|
|
<screen>
|
|
|
|
ALLUSERSPROFILE
|
|
|
|
COMMONPROGRAMFILES
|
|
|
|
COMPUTERNAME
|
|
|
|
COMSPEC
|
|
|
|
HOME
|
|
|
|
HOMEDRIVE
|
|
|
|
HOMEPATH
|
|
|
|
NUMBER_OF_PROCESSORS
|
|
|
|
OS
|
|
|
|
PATH
|
|
|
|
PATHEXT
|
|
|
|
PROCESSOR_ARCHITECTURE
|
|
|
|
PROCESSOR_IDENTIFIER
|
|
|
|
PROCESSOR_LEVEL
|
|
|
|
PROCESSOR_REVISION
|
|
|
|
PROGRAMFILES
|
|
|
|
SYSTEMDRIVE
|
|
|
|
SYSTEMROOT
|
|
|
|
TEMP
|
|
|
|
TERM
|
|
|
|
TMP
|
|
|
|
TMPDIR
|
|
|
|
WINDIR
|
|
|
|
</screen>
|
|
|
|
<para>Defaults to not set.</para>
|
|
|
|
</listitem>
|
|
|
|
|
2001-03-02 13:05:31 +01:00
|
|
|
<listitem>
|
2004-01-11 09:32:09 +01:00
|
|
|
<para><envar>(no)winsymlinks</envar> - if set, Cygwin creates
|
2001-03-02 13:05:31 +01:00
|
|
|
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,
|
2008-07-17 13:49:45 +02:00
|
|
|
a path and the system attribute set. Defaults to not set since plain
|
|
|
|
file symlinks are faster to write and faster to read.</para>
|
2001-03-02 13:05:31 +01:00
|
|
|
</listitem>
|
2008-07-18 10:17:28 +02:00
|
|
|
|
2000-02-17 20:38:33 +01:00
|
|
|
</itemizedlist>
|
2008-07-17 13:49:45 +02:00
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
|
|
|
<sect2 id="cygwinenv-removed-options">
|
|
|
|
<title>Removed options</title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Some CYGWIN options have been removed in Cygwin 1.7 for one reason or another.
|
|
|
|
These removed options are listed below.</para>
|
|
|
|
|
|
|
|
<itemizedlist mark="bullet">
|
2008-07-18 10:17:28 +02:00
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para><envar>(no)binmode</envar> - This option has been removed because
|
|
|
|
all file opens default to binary mode, unless the open mode has been specified
|
|
|
|
explicitely in the open(2) call.
|
|
|
|
</para>
|
|
|
|
</listitem>
|
|
|
|
|
2008-07-17 13:49:45 +02:00
|
|
|
<listitem>
|
|
|
|
<para><envar>check_case</envar> - This option has been removed in favor of
|
|
|
|
real case sensitivity and the per-mount option "posix=[0|1]". For more
|
|
|
|
information, read the documentation in <xref linkend="mount-table"></xref> and
|
|
|
|
<xref linkend="pathnames-casesensitive"></xref>.</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para><envar>(no)ntea</envar> - This option has been removed since it
|
|
|
|
only fakes security which is considered dangerous and useless. It also
|
|
|
|
created an uncontrollably large file on FAT and was entirely useless
|
|
|
|
on FAT32.</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para><envar>(no)ntsec</envar> - This option has been removed in favor of
|
|
|
|
the per-mount option "acl"/"noacl". For more information, read the
|
|
|
|
documentation in <xref linkend="mount-table"></xref>.</para>
|
|
|
|
</listitem>
|
|
|
|
|
2009-01-21 18:14:39 +01:00
|
|
|
<listitem>
|
|
|
|
<para><envar>(no)server</envar> - Originally this option had to be
|
|
|
|
enabled on the client side to use features only available when running
|
|
|
|
<command>cygserver</command>. This option has been removed because Cygwin now
|
|
|
|
always tries to contact cygserver if a function is called which requires
|
|
|
|
cygserver being available. For more information, read the documentation
|
|
|
|
in <xref linkend="using-cygserver"></xref>.</para>
|
|
|
|
</listitem>
|
|
|
|
|
2008-07-17 13:49:45 +02:00
|
|
|
<listitem>
|
|
|
|
<para><envar>(no)smbntsec</envar> - This option has been removed in favor of
|
|
|
|
the per-mount option "acl"/"noacl". For more information, read the
|
|
|
|
documentation in <xref linkend="mount-table"></xref>.</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para><envar>(no)transparent_exe</envar> - This option has been removed
|
|
|
|
because the behaviour it switched on is now the standard behaviour in
|
|
|
|
Cygwin.</para>
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
<listitem>
|
|
|
|
<para><envar>(no)traverse</envar> - This option has been removed because
|
|
|
|
traverse checking is not quite correctly implemented by Microsoft and
|
|
|
|
it's behaviour is getting worse with each new OS version.</para>
|
|
|
|
</listitem>
|
2008-07-18 10:17:28 +02:00
|
|
|
|
2008-07-17 13:49:45 +02:00
|
|
|
</itemizedlist>
|
|
|
|
|
|
|
|
</sect2>
|
|
|
|
|
2000-02-17 20:38:33 +01:00
|
|
|
</sect1>
|