Open Source im professionellen Einsatz
Linux-Magazin 12/2002

Unix-Programme unter Windows betreiben

Fenster-Wechsel

Mancher muss das Schreckliche tun: unter Windows arbeiten. Dann fehlen aber Programme wie »ls«, »dd« und Konsorten. Cygwin löst das Problem und lässt sogar XFree86 fremdgehen.

665

Um Windows-Software unter Linux zu benutzen, gibt es zwei völlig unterschiedliche Ansätze: Emulatoren, die den Anwendungen ganze Computer virtuell vorspiegeln, zum Beispiel VMWare[1], und Projekte wie Wine[2], die zwischen die Applikation und Linux eine Kompatibilitätsschicht (Application Layer) setzen, die die Windows-Systemaufrufe für Linux übersetzt.

Doch den Schwerpunkt auf die Programm-Migration von Windows nach Linux setzen bedeutet nicht, dass es das Problem anders herum nicht gäbe: Viele Linux-Benutzer, die beruflich mit Windows arbeiten müssen, ärgern sich darüber, dass ihnen die Flexibilität der Kommandozeile nicht zur Verfügung steht. Andere möchten lieb gewonnene X-Client-Programme auch unter Windows benutzen, stellen aber fest, dass kommerzielle X-Server für Microsoft-Betriebssysteme oft sehr viel Geld kosten und dass die kostenlosen nicht leistungsfähig genug sind.

Warum nicht andersrum?

Bereits im Jahre 1995 begann Steve Chamberlain, Entwickler bei Cygnus, an einer Lösung des Problems zu arbeiten. Sie sah eine Bibliothek als Zwischenschicht zwischen dem jeweiligen Unix-Programm und Windows vor, also einen Application Layer. Steve gab dieser Bibliothek den Namen Cygwin, zusammengesetzt aus Cygnus und Windows. Weitere Entwickler trugen zum Projekt bei. Als Red Hat Cygnus im Jahre 1999 kaufte, entschied man sich, Cygwin kontinuierlich weiterzuentwickeln.

Bei der Cygwin-Bibliothek handelt es sich somit um das Gegenstück zu Wine: Sie übersetzt die Systemaufrufe (System Calls) der Unix-Programme in für Windows verständliche Befehle. Auf diese Art und Weise merken weder die Unix-Programme, dass sie genau genommen mit Windows kommunizieren, noch Windows, dass es Programme aus der Unix-Welt ausführt.

Das Ergebnis kann sich sehen lassen: Cygwin ist mittlerweile zu einer komplexen, gut funktionierenden Bibliothek herangereift, mit der sich die verschiedensten Unix-Tools unter Windows einsetzen lassen: »bash«, »ls« und »dd« gehören zu den eher unspektakulären Beispielen; mittlerweile kann man sogar XFree86 und den Gnome-Desktop mit Hilfe von Cygwin unter Microsoft-Betriebssystemen ab Windows 95 (nur nicht mit Windows CE) betreiben.

Die Installation des Pakets ist alles andere als schwierig. Unter[3] findet sich ein Link mit der Aufschrift »Install now!«, der eine Datei namens »setup .exe« zum Download bereitstellt. Zweifel angesichts der lediglich einige KByte großen Datei legen sich bei ihrer Ausführung: »setup.exe« enthält keinesfalls die Cygwin-Bibliothek selbst, sondern lediglich ein Installer-Programm, das dem Benutzer einige Fragen stellt und die ausgewählten Softwarepakete aus dem Internet herunterlädt.

Als Antworten auf die Fragen können die Standardwerte übernommen werden, doch bleibt es dem Benutzer überlassen, Einstellungen zum Zielverzeichnis oder zu dem einzusetzenden Proxyserver individuell vorzunehmen. Bei der Paketauswahl empfiehlt es sich, sorgfältig eine eigene Auswahl zu treffen - der Standard-Installationsumfang fällt eher spartanisch aus.

Bei der Wahl des Servers, von dem die zu installierenden Cygwin-Pakete heruntergeladen werden sollen, führt wegen der unterschiedlichen Erreichbarkeit letztlich nur Ausprobieren zum Ziel. Mit Hilfe des Setups lassen sich später auch bislang nicht ausgewählte Programmpakete nachträglich einspielen sowie bereits installierte aktualisieren.

Abbildung 1: Paketauswahl während der Cygwin-Installation.

Bourne again unter Windows

Vorausgesetzt, dass Sie den Haken vor »Add to Start Menu« nicht entfernen, steht nach erfolgreicher Cygwin-Installation unter dem Start-Menüpunkt »Programme | Cygwin« der Eintrag »Cygwin Bash Shell«. Ein einfacher Klick darauf genügt, um ein DOS-Fenster zu öffnen, in dem sogleich eine Bash startet. Hier stehen Ihnen nun alle Unix-Tools zur Verfügung, die Sie während der Installation ausgewählt haben.

Dazu gehören unter anderen auch »gcc« und »g++«. Es handelt sich aber um für Cygwin modifizierte Versionen der originalen GNU-Compiler. Programmierer, die sich über die Aussicht freuen, unter Windows für Linux entwickeln zu können, seien gewarnt: Als Crosscompiler taugt der Cygwin-»gcc« leider nicht. Er produziert ausschließlich Cygwin-kompatible Programme, die sich nativ unter Windows nur ausführen lassen, wenn die Bibliothek »cygwin1.dll« im Bibliotheken-Pfad von Windows steht.

Wenn ein unter Linux erstelltes Programm keine speziellen Bibliotheken verwendet, erweist sich die Portierung nach Windows als Kinderspiel: Oft reicht es schon, den Quellcode mit dem Cygwin-»gcc« neu zu kompilieren und beim Installieren die »cygwin1.dll« in das systemweite Bibliotheken-Verzeichnis von Windows zu kopieren.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Cygwin-DLL steht unter LGPL

    Mit der Cygwin- Version 2.5.2.1 steht die Cygwin-DLL erstmals unter der LGPLv3. Die Bibliothek von Cygwin, der von Red Hat betreuten Portierung von GNU-Tools und -Programmen für Windows lässt sich damit auch für proprietäre Zwecke nutzen.

  • SpectrWM 2.0.0: Mit XCB und Cygwin-tauglich

    Der kachelnde Window Manager SpectrWM ist in überarbeiteter Version 2.0.0 verfügbar.

  • Weltfremd

    Es kann gute Gründe dafür geben, ein oder mehrere Linux-Systeme unter Windows zu emulieren. VMware Workstation 3.0 und der Konkurrent Connectix Virtual PC müssen beweisen, dass sie leistungsfähige künstliche Welten bereitstellen können.

  • Projekteküche

    Diese Ausgabe der Projekteküche beleuchtet den Wettkampf zwischen Mensch und (Schach-)Maschine sowie den freien Klon von Colonization. Außerdem geht es um Hilfsmittel für Linux-Benutzer, die sich in die Windows-Eingabeaufforderung verirrt haben.

  • Backup-Software Backshift einsatzbereit

    Mit der eben erschienenen Version 1.01 ist das platzsparende Backup-Programm Backshift reif für den praktischen Einsatz, meint ihr Autor Dan Stromberg.

comments powered by Disqus

Ausgabe 10/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.