diff options
Diffstat (limited to 'winsup/doc/effectively.sgml')
-rw-r--r-- | winsup/doc/effectively.sgml | 211 |
1 files changed, 0 insertions, 211 deletions
diff --git a/winsup/doc/effectively.sgml b/winsup/doc/effectively.sgml deleted file mode 100644 index fd0c0d447..000000000 --- a/winsup/doc/effectively.sgml +++ /dev/null @@ -1,211 +0,0 @@ -<sect1 id="using-effectively"> -<title>Using Cygwin effectively with Windows</title> - -<para> -Cygwin is not a full operating system, and so must rely on Windows for -accomplishing some tasks. For example, Cygwin provides a POSIX view -of the Windows filesystem, but does not provide filesystem drivers of -its own. Therefore part of using Cygwin effectively is learning to use -Windows effectively. -Many Windows utilities provide a good way to interact with Cygwin's -predominately command-line environment. For example, -<command>ipconfig.exe</command> provides information about network -configuration, and <command>net.exe</command> views and configures -network file and printer resources. Most of these tools -support the <literal>/?</literal> switch to display usage information. -</para> - -<para> -Unfortunately, no standard set of tools included with all versions of -Windows exists. If you are unfamiliar with the tools available -on your system, here is a general guide. Windows 95, 98, and ME have -very limited command-line configuration tools. Windows NT 4.0 has much -better coverage, which Windows 2000 and XP expanded. -Microsoft also provides free downloads for Windows NT 4.0 (the Resource Kit -Support Tools), Windows 2000 (the Resource Kit Tools), and XP (the -Windows Support Tools). Additionally, many independent sites such as -<ulink url="http://download.com.com">download.com</ulink>, -<ulink url="http://simtel.net">simtel.net</ulink>, -and <ulink url="http://sysinternals.com">sysinternals.com</ulink> -provide command-line utilities. A few Windows tools, such as -<command>find.exe</command> and <command>sort.exe</command>, -may conflict with the Cygwin versions; make sure that you use the full -path (<command>/usr/bin/find</command>) or that your Cygwin -<literal>bin</literal> directory comes first in your <envar>PATH</envar>. -</para> - -<sect2> <title>Pathnames</title> - -<para> -Windows programs do not understand POSIX pathnames, so any arguments -that reference the filesystem must be in Windows (or DOS) format or -translated. Cygwin provides the <command>cygpath</command> utility for -converting between Windows and POSIX paths. A complete description of its -options and examples of its usage are in <xref linkend="cygpath"></xref>, -including a shell script for starting Windows Explorer in any directory. -The same format works for most Windows programs, for example -<screen> -<literal>notepad.exe "$(cygpath -aw "Desktop/Phone Numbers.txt")"</literal> -</screen> -A few programs require a Windows-style, semicolon-delimited path list, -which <command>cygpath</command> can translate from a POSIX path with the -<literal>-p</literal> option. For example, a Java compilation from -<command>bash</command> might look like this: -<screen> -<literal>javac -cp "$(cygpath -pw "$CLASSPATH")" hello.java</literal> -</screen> -Since using quoting and subshells is somewhat awkward, it is often -preferable to use <command>cygpath</command> in shell scripts. -</para> - -</sect2> - -<sect2> <title>Console Programs</title> -<para> -Another issue is receiving output from or giving input to the console-based -Windows programs. Unfortunately, interacting with Windows console -applications is not a simple matter of using a translation utility. Windows -console applications and designed to run under <command>command.com</command> -or <command>cmd.exe</command>, and some do not deal gracefully with other -situations. Cygwin can receive console input only if it -is also running in a console (DOS box) since Windows does not provide -any way to attach to the backend of the console device. Another -traditional Unix input/output method, ptys (pseudo-terminals), are -supported by Cygwin but not entirely by Windows. The basic problem is -that a Cygwin pty is a pipe and some Windows applications do not like -having their input or output redirected to pipes. -</para> - -<para> -To help deal with these issues, Cygwin supports customizable levels of -Windows verses Unix compatibility behavior. To be most compatible with -Windows programs, use a DOS prompt, running only the occasional Cygwin -command or script. Next would be to run <command>bash</command> with -the default DOS box. To make Cygwin more Unix compatible in this case, -set <envar>CYGWIN=tty</envar> (see <xref linkend="using-cygwinenv"></xref>). -Alternatively, the optional <systemitem>rxvt</systemitem> package provides -a native-Windows version of the popular X11 terminal emulator (it is not -necessary to set <envar>CYGWIN=tty</envar> with <command>rxvt</command>). -Using <command>rxvt.exe</command> provides the most Unix-like environment, -but expect some compatibility problems with Windows programs. -</para> - -</sect2> - -<sect2> <title>Cygwin and Windows Networking</title> -<para> -Many popular Cygwin packages, such as <systemitem>ncftp</systemitem>, -<systemitem>lynx</systemitem>, and <systemitem>wget</systemitem>, require a -network connection. Since Cygwin relies on Windows for connectivity, -if one of these tools is not working as expected you may need to -troubleshoot using Windows tools. The first test is to see if you -can reach the URL's host with <command>ping.exe</command>, one of the -few utilities included with every Windows version since Windows 95. -If you chose to install the <systemitem>inetutils</systemitem> package, -you may have both -Windows and Cygwin versions of utilities such as <command>ftp</command> -and <command>telnet</command>. If you are having problems using one -of these programs, see if the alternate one works as expected. -</para> - -<para> -There are a variety of other programs available for specific situations. -If your system does not have an always-on network connection, you -may be interested in <command>rasdial.exe</command> (or alternatives for -Windows 95, 98, and ME) for automating dialup connections. -Users who frequently change their network -configuration can script these changes with <command>netsh.exe</command> -(Windows 2000 and XP). For proxy users, the open source -<ulink url="http://apserver.sourceforge.net"> -NTLM Authorization Proxy Server</ulink> or the no-charge -<ulink url="http://www.hummingbird.com/products/nc/socks/index.html"> -Hummingbird SOCKS Proxy</ulink> may allow you to use Cygwin network -programs in your environment. -</para> - -</sect2> - -<sect2><title>The cygutils package</title> - -<para> -The optional <systemitem>cygutils</systemitem> package contains miscellaneous tools that are -small enough to not require their own package. It is not included in a -default Cygwin install; select it from the Utils category in -<command>setup.exe</command>. Several of the <systemitem>cygutils</systemitem> tools are useful -for interacting with Windows. -</para> - -<para> -One of the hassles of Unix-Windows interoperability is the different line -endings on text files. As mentioned in <xref linkend="using-textbinary"></xref>, -Unix tools such as <command>tr</command> can convert between CRLF and LF -endings, but <systemitem>cygutils</systemitem> provides several dedicated programs: -<command>conv</command>, <command>d2u</command>, <command>dos2unix</command>, -<command>u2d</command>, and <command>unix2dos</command>. Use the -<literal>--help</literal> switch for usage information. -</para> -</sect2> - -<sect2><title>Creating shortcuts with cygutils</title> -<para> -Another problem area is between Unix-style links, which link one file -to another, and Microsoft .lnk files, which provide a shortcut to a -file. They seem similar at first glance but, in reality, are fairly -different. By default, Cygwin uses a mechanism that creates symbolic -links that are compatible with standard Microsoft .lnk files. However, -they do not include much of the information that is available in a -standard Microsoft shortcut, such as the working directory, an icon, -etc. The <systemitem>cygutils</systemitem> package includes a -<command>mkshortcut</command> -utility for creating standard Microsoft .lnk files. -</para> - -<para> -If Cygwin handled these native shortcuts like any other symlink, -you could not archive Microsoft .lnk files into <command>tar</command> -archives and keep all the information in them. After unpacking, -these shortcuts would have lost all the extra information and would -be no different than standard Cygwin symlinks. Therefore these two types -of links are treated differently. Unfortunately, this means that the -usual Unix way of creating and using symlinks does not work with -Windows shortcuts. -</para> -</sect2> - -<sect2><title>Printing with cygutils</title> -<para> -There are several options for printing from Cygwin, including the -<command>lpr</command> found in <systemitem>cygutils</systemitem> (not to be confused with the -native Windows <command>lpr.exe</command>). The easiest way to use <systemitem>cygutils</systemitem>' -<command>lpr</command> is to specify a default device name in the -<envar>PRINTER</envar> environment variable. You may also specify a device -on the command line with the <literal>-d</literal> or <literal>-P</literal> -options, which will override the environment variable setting. -</para> - -<para> -A device name -may be a UNC path (<literal>\\server_name\printer_name</literal>), a reserved -DOS device name (<literal>prn</literal>, <literal>lpt1</literal>), or a -local port name that is mapped to a printer share. Note that forward slashes -may be used in a UNC path (<literal>//server_name/printer_name</literal>), -which is helpful when using <command>lpr</command> from a shell that uses -the backslash as an escape character. -</para> - -<para> -<command>lpr</command> sends raw data to the printer; no formatting is done. -Many, but not all, printers accept plain text as input. If your printer -supports PostScript, packages such as -<systemitem>a2ps</systemitem> and <systemitem>enscript</systemitem> can prepare -text files for printing. The <systemitem>ghostscript</systemitem> package also -provides some translation -from PostScript to various native printer languages. Additionally, a native -Windows application for printing PostScript, <command>gsprint</command>, is -available from the <ulink url="http://www.cs.wisc.edu/~ghost/">Ghostscript -website</ulink>. -</para> - -</sect2> - -</sect1> |