Cygwin

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Cygwin/X)
Aller à : navigation, rechercher
Cygwin
Image illustrative de l'article Cygwin
Logo

Capture d'écran de Cygwin.
Capture d'écran de Cygwin.

Développeur Red Hat
Dernière version 1.7.11-1 (25 février 2012) [+/-]
Environnement Windows
Type Émulateur
Licence GNU GPL3
Site web www.cygwin.com
Cygwin continu Cygwin/X, un serveur d'affichage.

Cygwin est une collection de logiciels libres à l'origine développés par Cygnus Solutions permettant à différentes versions de Windows de Microsoft d'émuler un système Unix. Il vise principalement l'adaptation à Windows de logiciels qui fonctionnent sur des systèmes POSIX (tels que les systèmes GNU/Linux, BSD, et Unix). Cygwin simule un environnement Unix sous Windows, rendant possible l'exécution de ces logiciels après une simple compilation. Les programmes ainsi portés sur Cygwin, fonctionnent mieux sur Windows NT, Windows 2000 et Windows XP que sur les versions antérieures de Windows, mais certains peuvent s'exécuter de façon tout à fait acceptable sur Windows 95 et Windows 98. La version 1.5.24-2 du 31 janvier 2007 est la dernière à supporter officiellement Windows 95/98/Me.

Cygwin est actuellement maintenu par Red Hat et d'autres programmeurs.

Présentation[modifier | modifier le code]

Cygwin se compose d'une bibliothèque qui implémente l'API système de POSIX en faisant appel au système Win32, des outils de développement du GNU (tels que GNU Compiler Collection et GNU Debugger) qui permettent des tâches de base de développement de logiciel, et de quelques programmes d'application équivalents aux programmes courants des systèmes Unix. Le système X Window, XFree86 a été implémenté en 2001 sous Cygwin (nom : Cygwin/X). Cette implémentation a ensuite été remplacée par X.Org en raison de l'incompatibilité de XFree86 avec la licence GNU.

La bibliothèque Cygwin est une DLL nommée cygwin1.dll.

Le paquetage inclut également une bibliothèque appelée MinGW qui travaille avec la bibliothèque MSVCRT, une partie intégrante de Windows. Les besoins de MinGW, en mémoire et espace disque, sont moins importants que ceux de la bibliothèque Cygwin. De plus, MinGW est distribuée sous une licence moins contraignante, et peut se lier à n'importe quel logiciel, mais n'implémente pas autant de spécifications POSIX que le fait la bibliothèque de Cygwin.

Cygwin rend possible en particulier l'exécution d'un shell (bash le plus souvent) dans un environnement Windows, ce qui permet d'utiliser un PC sous Windows de manière très similaire à un ordinateur sous une version d'Unix. Il est même possible de lancer une interface graphique comme surcouche de Cygwin, par exemple KDE ou GNOME.

Licence[modifier | modifier le code]

Red Hat place la bibliothèque de Cygwin sous la licence libre GNU GPL[Laquelle ?] mais donne la possibilité à tout logiciel libre dont la licence se conforme aux conditions de source disponible de se lier à la bibliothèque (Red Hat rend également possible de distribuer des programmes sous licence commerciale et d'intégrer la bibliothèque Cygwin dans des distributions propriétaires).

Cygwin comme plate-forme de développement[modifier | modifier le code]

Cygwin est souvent utilisé pour exécuter les outils de compilation gcc sous Windows : associés à un éditeur de texte, Cygwin et gcc fournissent ainsi un environnement de développement libre et gratuit pour ce système d'exploitation. Les exécutables compilés avec gcc requièrent la présence de la bibliothèque Cygwin (cygwin1.dll) pour s'exécuter. Néanmoins, si l'application développée n'utilise aucune fonctionnalité Unix (les signaux, par exemple) alors elle peut être compilée avec l'option -mno-cygwin, c'est alors une application Windows indépendante de toute DLL (-mno-cygwin est déprécié). Dans ces conditions, Cygwin offre donc une solution de développement pour Windows. Cygwin est livré avec d'autres outils pour les développeurs : make bien sûr, mais aussi des langages de scripts comme Perl, Python, Tcl et Ruby.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Lien externe[modifier | modifier le code]

Sources[modifier | modifier le code]