Difference between revisions of "Cygwin"

From assela Pathirana
Jump to navigationJump to search
 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
==What is Cygwin==
{{cygwin_intro}}
{{box|It is expected that you are a little bit familier with [[wikipedia:Unix|Unix]] or [[wikipedia:Linux|Linux]] systems. If not, please read [[UNIX_tutorial|this tutorial]] first.}}
For Windows users: Cygwin is the easiest way to test the waters of  [[wikipedia:UNIX|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 [[A_Productive_Desktop_Environment_for_Scientists_and_Engineers |article]] for a couple of example situations.


(For [[wikipedia:Linux|Linux]] or [[wikipedia:Unix|Unix]] users: Don't bother.)
==See Also==
* [[A_Productive_Desktop_Environment_for_Scientists_and_Engineers_-_Part_I#The_little_geeky_program:_Cygwin|Another article that shows how to get things done with Cygwin.]]


==Installation==
* [[wikipedia:Cygwin|Cygwin article on Wikipedia.]]
Installing Cygwin is rather easy, mainly due to the excellent installation program. You need a working internet connection. First visit [http://www.cygwin.com/ cygwin website] and download [http://www.cygwin.com/setup.exe setup.exe] program. This is a tiny program under 300 kB. Cygwin [http://www.cygwin.com/cygwin-ug-net/setup-net.html 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.
#Select 'Download and Install from the Internet'
#Go mostly with the defaults. Particularly
#* Default text file type should be 'UNIX'.
#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.  


After the installation is finished do the following:
[[category:Computing]][[Category:Unix]]
# 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.
# It is possible to use cygwin within the Windows '[[wikipedia:cmd.exe|cmd.exe]]' (the 'dos prompt'), it is much easier and fun to use one of the x-windows based terminals. My choice is the [[wikipedia:xterm|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: <nowiki>
</nowiki><pre><nowiki>xterm.exe -fn '*18*'</nowiki></pre> It sets the font size to 'one of those fonts of 18point size'.
# 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. <nowiki>
</nowiki><pre><nowiki>
mkdir /c
mount c: /c
</nowiki></pre>
#* Then it is possible to navigate the windows file system in c: within the dos shell. For example: <nowiki>
</nowiki><pre><nowiki>cd /c/Documents\ and\ Settings/yourstruely/Desktop/</nowiki></pre> will change directory to your desktop. (Replace yourstruely with your username, of course.)
{{box|When file/folder names have spaces, we should use the forward slash to 'escape' them in UNIX.}}
 
 
See Also: [[A_Productive_Desktop_Environment_for_Scientists_and_Engineers]]

Latest revision as of 09:27, 4 October 2007

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.
Note
In the future sections we shall be using the cygwin shell opened using this method.

Does the DOS shell bother you?

Each time you open Cygwin, it will create a DOS shell that is practically useless. But you may notice that if you close it (by clicking on the cross at the top right corner) your Cygwin/X window will also be gone!

If this DOS shell bothers you, there is a way around it. Download this file and expand it to get the file called xterm.vbs. Copy this to your Cygwin root (normally this is C:\cygwin). Then create a shortcut to the file on your desktop. To start Cygwin/X, click on this shortcut and you will not be bothered by a DOS shell!

A good text editor

Bulb additional.png

There is more information on text editing and editors here.

Try not to use the windows notepad to edit data or script files you use in cygwin. Instead use the nedit (called nirvana editor) that comes with cygwin. If it is not there, simply install it following the section below.

Nedit can be called from the cygwin bash shell:

$ nedit &

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.

See Also