[PPD Computing] [PPD Windows NT] [Cygwin home] [Cygwin documentation]
[Setup] [Using Cygwin] [Software] [Help]

Cygwin Unix Tools

Cygwin provides many Unix commands and applications for Windows PCs. You can open a bash (or sh, ksh, tcsh, or zsh if you prefer) shell from the Command Prompt or in an xterm (or rxvt) window. Many Unix commands can be run locally to, for example, search files on your PC using grep, or logon or transfer files to a Unix machine using ssh and scp.

Most basic GNU shell and X-Windows commands are available, as well as some larger applications, such as the Emacs and nano text editors, TeX/LaTeX, the Lynx web browser, the Mutt mailer, the Ghostscript Postscript interpreter (though not yet Ghostview), GNU Privacy Guard (OpenPGP); the FVWM, LessTif (Motif), and Window Maker X-Windows managers; and the GCC, Perl, and Python languages.

Setting up Cygwin

To use the Cygwin software on your PPD desktop PC, run the S:\cygwin\cygwin-user-setup.bat setup procedure (if you need to, you can remove it with S:\cygwin\cygwin-user-uninstall.bat). This need only be done once - the setup will be saved as part of your Windows XP user profile.

If you have problems using Cygwin ssh ("You don't exist, go away!"), you should check whether your account is in the /etc/passwd file (S:\cygwin\etc\passwd in Windows). If it isn't, please let me know and I'll update the file to reflect the latest Windows account list.

Using Cygwin

The setup procedure adds a new Start Menu Programs folder "Cygwin Unix Tools" with commands
bash shell - console
Starts a bash shell in an Windows XP Console window.
bash shell - rxvt
Starts a bash shell in a rxvt window (does not require an X-server).
bash shell - xterm
Starts a bash shell in an xterm. If Exceed isn't already running, it will be started automatically.
fvwm2 window manager
Starts a local FVWM window manager (if you don't already have one running from a Unix machine). If Exceed isn't already running, it will be started automatically. Unless you have already configured FVWM (ie. have a H:\.fvwm directory), a default configuration will be created first. This provides a taskbar (with its own Start Menu) and button box which can be used to start various programs, eg. local xterms. The configuration can be altered from the FVWM Settings menus. Note that this is FVWM 2.4.7 (released April 2002), so .fvwm2rc files from much older releases (eg. as currently installed on the PPD Linux servers) may need editing if they are to be used.
Other Cygwin programs can be run from the bash (or other) shell.

Cygwin programs accept file path names in both Windows ('H:\file.txt') or various Unix-like formats (H:/file.txt, /H/file.txt, or ~/file.txt). Note that characters that bash treats as special, such as the backslash and space in Windows-style paths, must be either quoted ('C:\Program Files') or escaped (C:\\Program\ Files) if typed into the shell.

For additional Unix compatibility, Cygwin programs accept an automatic translation of certain paths. These translations can be defined and listed with the mount command

hepntw62 ~ > mount
S:\cygwin\bin on /usr/bin type user (binmode)
S:\cygwin\lib on /usr/lib type user (binmode)
S:\cygwin on / type user (binmode)
C:\home on /home type user (binmode)
A: on /A type user (binmode)
C: on /C type user (binmode)
D: on /D type user (binmode)
H: on /H type user (binmode)
S: on /S type user (binmode)
T: on /T type user (binmode)
Z: on /Z type user (binmode)
This shows the default set of mounts. As can be seen, the Unix-style root directory, /, actually points to the Cygwin installation on the Packages disk, S:\cygwin . Your Windows home directory can be referred to as 'H:\' , $HOME , /H , or just ~ .

All the initial mounts use what is called "binary mode". This means that no automatic translation is made between DOS and Unix format files. DOS format files use CR LF (^M^J) at the end of each line, while Unix uses just LF (^J). For information on accessing files in different modes, see the section on text and binary modes in the Cygwin User's Guide

Cygwin Software

The full set of offical Cygwin packages is installed on the Packages disk (S-drive). These are currently (15/8/2002)

apache (web server), ash (includes Bourne shell), autoconf, automake, bash, bc (arbitrary precision calculator), binutils, bison, byacc, bzip2, ccache, cgoban, clear, compface, cpio, cron, crypt, ctags, curl, cvs, cygrunsrv, cygutils, cygwin, cygwin-doc, db2, db3.1, dejagnu, diff, diffutils, dpkg, ed, emacs (command-line or X-Windows), enscript, expat, expect, fetchmail, figlet, file, fileutils (basic file commands like ls, cp, etc), findutils, flex, fortune, fvwm, gawk, gcc, gdb, gdbm, gettext, ghostscript, gnugo, gnupg, gperf, grep, groff, gsl, guile, gzip, indent, inetutils, irc, jbigkit, jpeg, keychain, less, lesstif, libbz, libcharset1, libdb2, libdb3.1, libguile, libiconv, libintl, libltdl, libncurses, libpng, libpopt, libPropList, libreadline, libtool, libungif, libxml2, libxslt, links, login, lynx, m4, make, man, mc, mingw, mktemp, more, mt, mutt, nano (small text editor, like Pico), ncftp, ncurses, newlib-man, openbox, opengl, openssh (ssh client and server), openssl, patch, pcre, perl, pine, pinfo, pkgconfig, popt, postgresql, procmail, python, rcs, readline, regex, robots, rsync, rxvt, sed, sh-utils (basic shell utilities like printenv, pwd, etc), sharutils, shutdown, squid, ssmtp, swig, tar, tcltk, tcp_wrappers, tcsh, termcap, terminfo, tetex (TeX and LaTeX), texinfo, textutils (basic text manipulation commands like cat, sort, etc), tidy, tiff, time, ttcp, ucl, units, unzip, upx, vim, w32api (interface to Windows libraries), wget (command-line web download), which, whois, WindowMaker, x2x, Xaw3d, XFree86 (X-windows client and server), xpm-nox, zip, zlib, zsh,
(use cygcheck -s to list package versions), as well as additional packages (in /usr/local),
pdksh-5.2.14 (Korn Shell), and run-1.1.4.

If you are really keen, GCC can be used to port or develop new applications to run under Cygwin. Cygwin is supported by Red Hat, so it is not suprising that many of the Linux system calls are available. Thus porting from Unix is often just a matter of recompiling.

Help

See the Cygwin User's Guide or other information on the Cygwin documentation page for details of the Cygwin environment and applications. For help with individual commands, see the package documentation on the web or in /usr/doc or /usr/doc/Cygwin/; or use the online help from a bash shell: man, info, or help.

For help with the PPD Cygwin installation, please contact Tim Adye. I will endevour to keep the installation reasonably up to date and can help with basic questions, but cannot provide full support.


HTML 3.2 Checked... Best viewed with ANY browser! http://hepwww.rl.ac.uk/Adye/doc/cygwin.html last modified 16th May 2005 by
Tim Adye, <T.J.Adye@rl.ac.uk>