CygWin ist eine Sammlung der wichtigsten GNU-Tools für Windows.
Es gibt eine sehr gute Übersicht der verfügbaren Pakete.
Dadurch kann der an die mächtigen Tools gewohnte Linuxer auch auf Windows-Basis sich eine halbwegs akzeptable Arbeitsplattform einrichten. Auch wenn die Tools nicht an die Fähigkeiten und Erweiterbarkeit einer Linux-Installation heranreichen, sind sie doch ganz nützlich, falls man aus anderen Gründen zu Windows gezwungen ist und können auch eine Migration auf Linux erleichtern.
Lizenz: je nach Tool: GPL, Public-Domain oder X11-Lizenz
Homepage: http://www.cygwin.com/
Download: http://sources.redhat.com/cygwin/
Alternative
Wer nur ein paar Kommandos braucht, sollte AiNTX probieren. Dies ist eine Sammlung von etwa 90 Kommandos, die über Dos aufgerufen werden, z.B. Mail, Dienste stoppen/starten etc. Homepage gibt es nicht mehr, aber 'aintx download' findet es.
Eine weitere Alternative ist GnuWin32. Es handelt sich dabei um eine Sammlung von direkt für Win32 programmierte GNU-Tools (sogenannte native ports). Homepage: http://gnuwin32.sourceforge.net/
Wer sich vor allem für Programmierwerkzeuge interessiert, der kann zu MinGW (MinimalistGnuForWindows) greifen. MinGW ist eine Portierung von GCC für Windows, wobei die Programme aber im Gegensatz zu CygWin nicht eine eigene DLL brauchen, sondern gegen die von Windows mitgelieferte msvcrt.dll gelinkt werden. Außerdem gibt es mit dem Paket MSYS eine Umgebung, die die BASH und etliche andere GNU Werkzeuge zur Verfügung stellt, so dass man Shell-Skripte und Makefiles teilweise direkt von Linux übernehmen kann.
XFree86 für Windows
Ein XFree86-Port auf CygWin-Basis steht auch zur Verfügung, so dass man sich die Ausgabe von auf einem anderen (Linux-)Rechner laufenden X11-Programme auf den Windows-Bildschirm herholen kann.
Siehe http://cygwin.com/xfree/ .
hat hierzu jemand aktuelle Performance-Erfahrungen? Ich hatte das mal vor einem halben Jahr etwas angetestet weil ich mir die Lizenzkosten von Exceed sparen wollte. Die Ergebnisse waren allerdings nicht sonderlich berauschend. Ich hatte dann aber nicht weiter untersucht durch was der subjektive Eindruck genau zustande kam. Schnell war es jedenfalls nicht! -- JanRoehrich 2003-03-26 22:19:34
- Die Performance ist echt super, allerdings nur wenn man Putty und nicht das OpenSSH-Packet von cygwin verwendet.
Vorteil ist, dass man eine Shell unter Windows hat, wenn man cygwin direkt ins "root", also c:\ installiert. Solange du keine großen while-Schleifen im shell-skript hast läuft es super fix. Installation ist verflixt einfach. -- Nachteil ist, dass man die TAB-Taste zum Befehl-Ergänzen in der Pfeife rauchen kann. Ist langsam. Auch schade, dass es partimage nicht für cygwin gibt. Wäre geil. -- Daniel Brüßler 2003-03-28 12:39:08
- Für eine vergleichsweise schnelle Lösung würde ich einen Blick auf NX empfehlen. Damit ist ein X auch über WAN möglich.
gemeinsames Clipboard
Auf http://xfree86.cygwin.com/devel/xwinclip/ wird übrigens auch Clipboard-Unterstützung für XFree/Win32 angeboten (wird in der Presse oft als Feature teuerer, kommerzieller X-Server beschrieben). Nach meiner Erfahrung läuft dies aber nicht zusammen mit XDMCP.
xdmcp
Cygwin/XFree86 mit xdmcp um sich auf einer entfernten Linux-Maschine einzuloggen via kdm.
XWin.exe -screen 0 800x600 -from %WINDOWS_HOST_NAME% -query %REMOTE_UNIX_HOST_NAME_OR_IP% # %HOST_NAME% mit den wirklichen Hostnamen ersetzen
Und so sieht das dann aus:
comments
OffeneFrage: Hat denn schon jemand geschafft die locale's einzurichten? Bei mir ist noch immer "C" eingetragen - anstatt "de_DE". Den Befehl locale kann ich in der Sammlung nicht entdecken. "gettext" und "libcharset1" habe ich nun ausproierenderweise nachinstalliert, aber die helfen da auch nicht. Auch die FAQ hat da nichts gebracht. Weiß jemand Hilfe? -- DanielBrüßler 2004-02-04 17:21:18
- "info setlocale" ausführen, man erfährt dann, dass nur minimaler locale-Support realisiert ist. Eine Google-Suche mit "cygwin locale" scheint das zu bestätigen.
Wie "eingetragen"? export LANG=de_DE in /etc/profile sollte tun, warum der Befehl locale nicht dabei ist, ist mir aber auch unklar. libintl brauchst du vermutlich auch noch. -- RonnyBuchmann 2004-02-04 21:02:13
Mist, das hat zu einem FATAL: invalid value for parameter "lc_messages": "de_DE"". geführt. Ich wills mal am Rande erwähnen - ich experimentiere mit postgreSQL. Läuft eigentlich prima, nur die locales hätte ich gern richtig gesetzt. Aber um postgreSQL geht es ja nun nicht. Jedenfalls habe ich Dich wohl nicht nicht richtig verstanden. Die libintl habe ich mir nun auch noch nachinstalliert. Den export-Befehl muss man anscheinend in jeder shell-Session neu ausführen und habe ihn deshalb in die .bashrc mit hineingesetzt. Wenn ich export eingebe, ist die neue Zuweisung für LANG jedenfalls enthalten. Aber ob das auch stimmt? In /etc habe ich ein File namens "profile.d", es ist also kein Verzeichnis. Was hast Du mit "in /etc/profile" gemeint? Greetzzz -- DanielBrüßler 2004-02-06 12:32:31
- In meiner Erinnerung gab es auch ein /etc/profile, bashrc tut's sicher auch. Du kannst es natürlich auch user abhängig in .profile, .bash_profile oder .basrc eintragen, eben genauso wie unter Linux auch.
- Wäre es möglich, dass /etc/profile nur angelegt wird, wenn man den Xserver installiert? Den brauche ich ja nicht. Habe lediglich einen profile.d - Ordner in /etc, aber das ist offensichtlich für SSL gedacht.
- Der Sinn vom profile.d Ordner ist, daß ein Paket dort sein profile Script ablegen kann, ohne /etc/profile zu verändern. Ist also nicht nur für SSL sinnvoll.
Probleme beim Installieren
Wie sich nach etwas längerem Suchen herausgestellt hat, war mein erstes Download von CygWin nicht vollständig, obwohl ich einen kompletten Mirror gedownloaded habe. Das Setup-Programm meldete einen Zugriffsfehler in "find (grep)", was daran lag, dass dieser Mirror ( ftp.inf.tu-dresden.de) keine findutils zur Verfügung stellte. Nach Auswahl eines anderen Mirrors gelang die Installation. Schade, dass das Setup von Cygwin nicht meckert, wenn Abhängigkeiten unter den Packeten nicht erfüllt sind. -- ThomasKalka
Probleme beim Installieren und lustiges danach
Ich bin ja eher pragmatisch eingestellt und habe zunächst ähnliche Inkonsistenzen bei der Erstinstallation festgestellt und habe dadurch einige Installationen hinter mir. Nachdem ich dann meine erste pseudo-shell am Start hatte wollte ich dann doch wissen wo ich eigentlich gelandet bin. Also ...
find /
... und ab dafür -> nun ja das Ergebins hat mich dann dazu veranlasst mal die logs meiner Firewall zu scannen. Tja ... böse das ... die eine oder andere Installation hat doch glatt versucht einige Ports durchzuscannen. WORIN BESTEHT DER SINN VON SOWAS? -- da chung