989ea48440
* cygwinenv.sgml: Add example for CYGWIN=error_start. * pathnames.sgml: Update list of /dev/ devices.
180 lines
8.2 KiB
Plaintext
180 lines
8.2 KiB
Plaintext
<sect1 id="using-cygwinenv"><title>The <EnVar>CYGWIN</EnVar> environment
|
|
variable</title>
|
|
|
|
<para>The <EnVar>CYGWIN</EnVar> 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 <literal>no </literal>.</para>
|
|
|
|
<itemizedlist Mark="bullet">
|
|
<listitem>
|
|
<para><envar>(no)binmode</envar> - 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.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>check_case:level</envar> - Controls the behaviour of
|
|
Cygwin when a user tries to open or create a file using a case different from
|
|
the case of the path as asved on the disk.
|
|
<literal>level</literal> is one of <literal>relaxed</literal>,
|
|
<literal>adjust</literal> and <literal>strict</literal>.</para>
|
|
<itemizedlist Mark="bullet">
|
|
<listitem>
|
|
<para><envar>relaxed</envar> which is the default behaviour simply
|
|
ignores case. That's the default for native Windows applications as well.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>adjust</envar> 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 <command>/bin/pwd</command> afterwards.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>strict</envar> results in a error message if the case
|
|
isn't correct. Trying to open a file <filename>Foo</filename> while a file
|
|
<filename>fOo</filename> exists results in a "no such file or directory"
|
|
error. Trying to create a file <filename>BAR</filename> while a file
|
|
<filename>Bar</filename> exists results in a "Filename exists with different
|
|
case" error.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><envar>codepage:[ansi|oem]</envar> - 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.
|
|
</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><envar>(no)envcache</envar> - 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.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>(no)export</envar> - if set, the final values of these
|
|
settings are re-exported to the environment as <envar>CYGWIN</envar> again.
|
|
Defaults to off.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<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>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>forkchunk:32768</envar> - causes <function>fork()</function>
|
|
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.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>(no)glob[:ignorecase]</envar> - 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.</para>
|
|
<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>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>(no)ntea</envar> - if set, use the full NT Extended
|
|
Attributes to store UNIX-like inode information.
|
|
This option only operates under Windows NT. Defaults to not set. </para>
|
|
<Warning><Title>Warning!</Title> <para>This may create additional
|
|
<emphasis>large</emphasis> files on non-NTFS partitions.</para></Warning>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>(no)ntsec</envar> - 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 doesn't
|
|
support the NT file security. Defaults to set. For more information, read
|
|
the documentation in <Xref Linkend="ntsec">.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>(no)smbntsec</envar> - if set, use <envar>ntsec</envar> on remote
|
|
drives as well (this is the default). If you encounter problems with NT shares
|
|
or Samba drives, setting this to <envar>nosmbntsec</envar> could help. In that
|
|
case the permission and owner/group information is faked as on FAT partitions.
|
|
A reason for a non working <envar>ntsec</envar> on remote drives could be
|
|
insufficient permissions of the users. Since the needed user rights are
|
|
somewhat dangerous (SeRestorePrivilege) it's not always an option to grant that
|
|
rights to users. However, this shouldn't be a problem in NT domain
|
|
environments.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>(no)reset_com</envar> - 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.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>(no)server</envar> - 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 (<function>msgget</function>,
|
|
<function>semget</function>, <function>shmget</function>, and friends)
|
|
successfully. These function calls will return with
|
|
<literal>ENOSYS</literal>, "Bad system call".
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>(no)strip_title</envar> - if set, strips the directory
|
|
part off the window title, if any. Default is not set.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>(no)title</envar> - 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 <literal>title</literal> or <literal>title
|
|
nostrip_title</literal>.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>(no)tty</envar> - if set, Cygwin enables extra support
|
|
(i.e., termios) for UNIX-like ttys.
|
|
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 <command>stty</command>.
|
|
This option must be specified before starting a Cygwin shell
|
|
and it cannot be changed in the shell.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><envar>(no)winsymlinks</envar> - 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.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect1>
|