Cygwin

From assela Pathirana
Revision as of 14:27, 4 April 2006 by Root (talk | contribs)
Jump to navigationJump to search

What is Cygwin

Green info.gif

It is expected that you are a little bit familier with Unix or Linux systems. If not, please read this tutorial first.

For Windows users: Cygwin is the easiest way to test the waters of UNIX while in the safety of your windows environment. You can learn a bit of UNIX easily, or better still can use it to do certain useful things easier than with normal windows software. See this article for a couple of example situations.

(For Linux or Unix users: Don't bother.)

Installation

Installing Cygwin is rather easy, mainly due to the excellent installation program. You need a working internet connection. First visit Cygwin website and download setup.exe program. This is a tiny program under 300 kB. Cygwin help pages have extensive information on how to use this little program to install Cygwin. Only some important points are given below. Start by double clicking on the setup.exe program.

  1. Select 'Download and Install from the Internet'
  2. Go mostly with the defaults. Particularly
    • Default text file type should be 'UNIX'.
  3. Select packages:
    • 'Base' and some others are automatically selected, don't deselect them. Additionally, select 'Devel'. Don't bother with the others at this stage, for it is rather easy to add packages as you need them later.
Green info.gif

When file/folder names have spaces, we should use the forward slash to 'escape' them in UNIX.

After the installation is finished do the following:

  1. Copy the setup.exe file to your installation directory (usually C:\Cygwin). We can find it there easily, if we need to download additional packages later.
  2. It is possible to use Cygwin within the Windows 'cmd.exe' (the 'dos prompt'), it is much easier and fun to use one of the x-windows based terminals. My choice is the xterm. However, with modern high resolution displays, x-term's default font size can be hard to read. To overcome this, one can start xterm with the following command:
    xterm.exe -fn '*18*'
    It sets the font size to 'one of those fonts of 18point size'.
  3. It is possible to 'map' the whole windows file system to be accessed within Cygwin's Unix shell.
    • Folowing commands will mount the drive c: within Cygwin.

mkdir /c mount c: /c

    • Then it is possible to navigate the windows file system in c: within the dos shell. For example:
      cd /c/Documents\ and\ Settings/yourstruely/Desktop/
      will change directory to your desktop. (Replace yourstruely with your user name, of course.)
  1. Now set some windows environment variables to make our lives with cygwin easier. (Control Panel->System->Advanced->Environment variables)
    • Append the following to the Path variable
      C:\cygwin\usr\X11R6\bin;C:\cygwin\bin
    • Add a new variable called DISPLAY and set the value as follows
      localhost:0.0
      .
  2. There is a file named startxwin.bat in the folder C:\cygwin\usr\X11R6\bin\ copy it to c:\cygwin (Cygwin root). Then rename the new file as xterm.bat. Edit the line
    %RUN% xterm -e   /usr/bin/bash -l
    to be like
    %RUN% xterm -fn '*18*' -e   /usr/bin/bash -l
  3. Create a windows shortcut targeting C:\cygwin\xterm.bat
  4. Now double clicking on the shortcut should open a Cygwin window with large fonts.
    X-terminal with large fonts, on windows desktop.

Now what?

There are hundreds of very useful things that one can when a Unix shell. Now that it is there, you may want to read this article which list some uses of the Cygwin for useful activities like simple data processing.

Adding programs

Cygwin has a wealth of packages that can be useful for different situations. Installing the whole darn thing is not the way to go. It can certainly be done, but, is redundant and can be an immense waste of time to download and install them all. Instead, it is possible to invoke the setup.exe later (remember: we copied it to c:\cygwin folder.) and install any additional packages as they become necessary. Here's an example:



See Also: A_Productive_Desktop_Environment_for_Scientists_and_Engineers