Cygwin – bash ve Windows

Používáte Windows, ale už jste se doslechli o bájném mocném linuxovém příkazovém řádku? Nebo primárně pracuje s Linuxem, ale když občas potřebujete udělat něco na Windows, chtěli byste mít po ruce prostředí, na které jste zvyklí? Pokud se vaše situace blíží některé z výše popsaných, či jen chcete zkusit něco nového a zajímavého, pak existuje řešení.

Dvě hlavní možnosti, jak dostat do Windows linuxový příkazový řádek (většinou tedy konkrétní verzi zvanou bash neboli Bourne again shell) jsou použít buď kombinaci MSYSMinGW, nebo Cygwin. Kombinace MSYS a MinGW ve výsledku zabírá méně místa a můžete si přesněji zvolit, co přesně na svém systému chcete, Cygwin je naopak uživatelsky přívětivější a má balíčkovací systém, který se více blíží linuxovým obdobám. V tomto krátkém textu vás chceme seznámit hlavně s Cygwinem.

Co je přesně Cygwin zač?

Cygwin je projekt, který si klade za cíl umožnit spouštět některé linuxové programy pod operačními systémy Windows. Protože systémová volání a prostředky vypadají ve Windows a Linuxu rozdílně, pokouší se Cygwin poskytnout linuxovým programům nějaký ekvivalent v podobě systémových knihoven, které překládají linuxová volání na jejich ekvivalent ve Windows (pokud existuje), nebo pro komplexnější věci obsahuje přímo zkompilované spustitelné soubory.

Abstraktně se tedy dá říci, že se Cygwin pokouší postavit pro v něm spuštěné programy jakési prostředí, aby si připadaly „jako doma“. Reálná situace je o něco složitější, ale to nám nebrání v jeho používání.

Autoři Cygwinu se pokoušejí přenést a upravit pro fungování ve Windows většinu běžně používaných věcí, takže v Cygwinu určitě najdete interpretery běžných jazyků jako je Python nebo Perl, kompilátory jazyků C i C++ a v posledních letech se podařilo převést i některé grafické knihovny, takže v Cygwinu najdete a spustíte i okenní aplikace.

Instalace a aktualizace

Pro instalaci si stačí stáhnout soubor setup-x86.exe (či setup-x86_64.exe, pokud chcete 64-bitovou verzi) ze stránek https://www.cygwin.com/ a spustit. Zvolte instalaci z internetu, místo, kde se má Cygwin usídlit, a server, ze kterého se má stahovat obsah (můžete ponechat výchozí). Po stáhnutí seznamu dostupných balíčků se vám otevře dlouhý seznam, ze kterého si budete moci vybrat, co se má přesně nainstalovat.

Instalace součástí Cygwinu totiž vypadá velmi podobně jako linuxové balíčkové systémy – nestahujete si samostatně z internetu jednotlivé programy, ale vše je pro vás hezky připraveno v nějakém katalogu (zvaném repozitář, o který se stará většinou správce vaší distribuce, v tomto případě se jedná o správce Cygwinu).

Tento způsob instalace má určité výhody: vše je na jednom místě a dostupné na pár kliknutí, pokud se objeví nová verze, sama se aktualizuje, a balíčkovací systém automaticky vyřeší závislosti (pokud nějaký balíček vyžaduje ke svému běhu jiný, tak se tento také vybere). Ale najde se i několik nevýhod (například instalace něčeho, co není v katalogu, je mírně obtížnější).

Všechno potřebné by mělo být ve výchozím nastavení zaškrtnuté, ale můžete si zkontrolovat, že bash je zvolen také. Potom již jen stačí potvrdit a instalátor si sám stáhne potřebné balíky a nainstaluje je.

Pokud někdy v budoucnu budete chtít Cygwin aktualizovat či instalovat nové balíky, stačí jen znovu spustit instalátor (dobrým zvykem je si ho schovat do stejné složky, kam jste si Cygwin instalovali) a v seznamu balíků odškrtnout či zaškrtnout potřebné balíky.

Spuštění a používání

V systému by vám měl přibýt nový program nesoucí název „Cygwin“ nebo „Cygwin terminal“ (záleží na verzi Cygwinu, jak se přesně jmenuje), po jehož spuštění se vám objeví okno terminálu, ve kterém poběží bash.

Při prvním spuštění po vás možná Cygwin bude chtít nějaká nastavení a volby, které budete muset vyplnit, ale při příštím spuštění by se již na nic ptát neměl. Nyní máte před sebou plnohodnotný bash a již ho můžete naplno používat. O tom, co se v něm všechno dá dělat, se můžete dočíst v seriálu 27. ročníku.

Další programy a grafické rozhraní

Správci Cygwinu sice spoustu základních balíčků připravili a v základním repozitáři je většina věcí, které budete potřebovat. Rozhodně však nejsou takto dostupné všechny balíčky, pokud tedy budete chtít něco exotičtějšího, existuje tu třeba možnost sáhnout po neoficiálním repozitáři CygwinPorts.

Balíčky v tomto repozitáři nejsou tolik otestovány a občas sem může proklouznout i nějaký balíček, který ještě tak úplně nefunguje, ale je zde mnohem větší nabídka, než v základním, více otestovaném repozitáři. Pokyny k instalaci najdete na stránkách http://cygwinports.org/.

Poslední věcí, kterou zmíníme, je jak dostat do Cygwinu grafické rozhraní. V Linuxu se většinou grafickému rozhraní říká jednoduše X nebo X-Windows podle toho, že se stará o vykreslování jednotlivých oken. Pokud budete chtít spouštět grafické linuxové programy i ve Windows, budete si muset vedle Cygwinu separátně nainstalovat i X-server.

Nejlepší volbou k Cygwinu je pravděpodobně Cygwin/X, který je v něm přímo integrovaný. Stačí pouze při instalaci zvolit balíček xinit a systém si už sám dovybere zbývající potřebné balíčky. Po doinstalování budete moci spouštět i grafické linuxové aplikace.

Závěr

Pokud se setkáte s nějakým problémem, zkuste se buď podívat do dokumentace Cygwinu, nebo nám zkuste napsat a pokusíme se problém společně vyřešit.

Článek pro vás sepsal

Jirka Setnička