Cygwin for Windows is a collection of tools which provide a Linux distribution on Windows look and feel environment for Windows. It is a DLL (cygwin1.dll) which acts as a Linux API layer providing substantial Linux API functionality. The Cygwin DLL currently works with all recent, commercially released x86 32 bit and 64-bit versions of Windows.
It consists of a collection of various tools and libraries aimed to provide a Linux-like environment on the Windows Operating System. It acts as an emulation layer, making it possible to run native Linux applications on Microsoft Windows.
What is Cygwin?
Cygwin is a large collection of GNU and Open Source tools that provide functionality similar to a Linux distribution on Windows. It is a DLL (cygwin1.dll) which provides substantial POSIX API functionality.
Run apps developed for Linux on Windows
Originally developed by Cygnus Solutions, but acquired in 2000 by Red Hat, It is mostly bent on providing programmers with a simple way to provide Windows compatibility for applications that were originally developed for Linux environments. A few examples of Unix applications ported successfully are KDE, GNOME, and Apache.
The Cygwin distribution contains thousands of packages from the Open Source world including most GNU tools, many BSD tools, an X server, and a full set of X applications. If you’re a developer you will find tools, headers, and libraries allowing to write Windows console or GUI applications that make use of significant parts of the POSIX API. The tool allows easy porting of many Unix programs without the need for extensive changes to the source code. This includes configuring and building most of the available GNU or BSD software, including the packages included with the app distribution themselves. They can be used from one of the provided Unix shells like bash, tcsh, or zsh.
The tool can be expected to run on all modern, released versions of Windows. State January 2016 this includes Windows Vista, Windows Server 2008, and all later versions of Windows up to Windows 10 and Windows Server 2016. The 32-bit version of the tool also runs in the Windows 64 32-bit environment on released 64-bit versions of Windows, the 64-bit version of course only on 64 bit Windows. Keep in mind that the program can only do as much as the underlying OS supports. Because of this, Cygwin 64-bit will behave differently, and exhibit different limitations, on the various versions of Windows.
Corinna Vinschen is the current project lead. It is a senior Red Hat engineer. Corinna is responsible for the app library and maintains a couple of packages, for instance, OpenSSH, OpenSSL, and a lot more. Yaakov Selkowitz is another Red Hat engineer working on the Cygwin project for PC. He’s the guy behind the current build and packaging system and maintains by far the most packages in the Cygwin for Linux distribution. Jon Turney is the developer and maintainer of the app X server and a couple of related packages.
Being such a complex application, a sophisticated installation is expected. Deployment requires several user interventions, as well as a working Internet connection for downloading files from dedicated servers.
Users are advised to pay attention to the packages they select during setup; the more components, the longer the installation process. By default, the selection is minimal and includes only the bash shell, as well as core utilities, which are common in the Unix command-line.
Other components, such as terminals (mintty, util-Linux), text utilities (grep, diff, patch), shells (dash, zsh, tcsh), servers (Apache, PostgreSQL, OpenSSH) and other development-related utilities are available in optional packages.
The default selection should be enough for compiling source code in order to produce GUI or console applications that are compatible with Windows. After all, the beauty of this software comes from the fact that developers need not make extensive changes to the code, but few adjustments and additions.
FAQ of Cygwin
How can I install Cygwin without administrator rights?
Yes. The default installation requests administrator rights because this allows us to set up the Cygwin environment so that all users can start a shell out of the box. However, if you don’t have administrator rights for your machine, and the admins don’t want to install it for you, you can install Cygwin just for yourself by downloading setup-x86.exe (for a 32-bit install) or setup-x86_64.exe (for a 64-bit install) and then start it from the command line or via the “Run…” dialog from the Start menu using the –no-admin option, for instance:
Why not install in C:\?
The Cygwin Linux Distribution for Windows Setup program will prompt you for a “root” directory. The default is C:\cygwin, but you can change it. You are urged not to choose something like C:\ (the root directory on the system drive) for your Cygwin root. If you do, then critical Cygwin terminal system directories like, etc, lib and bin could easily be corrupted by other (non-Cygwin) applications or packages that use \etc, \lib, or \bin. Perhaps there is no conflict now, but who knows what you might install in the future? It’s also just good common sense to segregate your Cygwin “filesystems” from the rest of your Windows system disk.
How to run Linux Commands on Windows?
|Operating System||Windows XP, Windows Vista, Windows 7/8/10|
|Software Name||Cygwin Software For Windows V 3.1.6|
|File Size||Windows: 1.3 MB|
|Languages||English, Italian, French, Spanish, Polish, Chinese, German, Japanese|
Download Software For PC