Tentokrát ale peklo opravdu zamrzlo. Textové Ubuntu poběží uvnitř Windows

  • Microsoft představil Windows Subsystem for Linux
  • Příkazovou řádku doplní linuxový bash
  • Budete moci instalovat aplikace přes apt-get, vyvíjet i hrát si s Linuxem na Windows

Když Microsoft ve středu podvečer oznámil, že uzavřel partnerství se společností Canonical, která zastřešuje vývoj populární linuxové distribuce Ubuntu, a společně umožní na Windows 10 spouštět linuxové textové programy uvnitř vestavěné unixové příkazové řádky bash, mnozí nejspíše začali rychle kontrolovat datum, jestli už náhodou není 1. duben.

Nejde o virtualizaci

Apríl je tu sice opravdu už za pár hodin, ale během těch dvou dnů se na té zdánlivě přelomové informaci nic nezměnilo – jen jsme zase všichni o něco chytřejší, Microsoft totiž postupně uvolňuje další a další střípky informací, jak by to mělo fungovat v praxi.

Člověka nejspíše v prvé řadě napadne nějaká forma hypervizoru. Jistě, v nitru Windows by mohl skutečně běžet virtualizovaný Linux, který bude v bezešvém módu spouštět tu okénko s bashem, tu zase jiný populární linuxový textový program a tak dále. Rozhodně by to tak fungovat mohlo a nebylo by to ostatně poprvé – vzpomeňte třeba na Windows XP Mode pro Sedmičky. Jenže Microsoft šel tentokrát mnohem dál a hlouběji do nitra.

947808603 912648567
Windows XP Mode pro Windows 7, který umožňoval spouštět staré aplikace z XPček. Ve skutečnosti se ale jednalo jen o skrytou – bezešvou virtualizaci.

Něco jako Wine (ale jen trochu)

Dustin Kirkland, jeden z odpovědných manažerů Canonicalu, přirovnal novou technologii k populárnímu programu Wine pro linuxové systémy, který umožňuje spouštění aplikací Windows třeba právě na Ubuntu a to způsobem, kdy překládá všechna volání Windows API do linuxového světa. Pokud tedy kód programu EXE obsahuje instrukci, která říká, že se má zobrazit dialog pro otevření souboru, Wine se postará o to, aby se zobrazil analogický dialog na grafickém linuxovém desktopu. S trochou štěstí tímto způsobem na Fedoře či Ubuntu spustíte třeba i čerstvý Photoshop.

259729017
Adobe Photoshop CC spuštěný na Ubuntu 14.04 skrze překladač Wine (Foto: winehq.org)

Windows Subsystem for Linux

Odpověď Microsoftu se jmenuje WSL – Windows Subsystem for Linux a oproti Wine se jedná o překladovou vrstvu, která jde ještě o několik pater níže až na samotnou dřeň jádra Windows, díky čemuž se linuxové programy skrze WSL spouštějí prakticky stejně rychle jako na opravdu nativním Linuxu. Jenže co ten WSL vlastně spouští?

Textové Ubuntu uvnitř Windows

Jelikož Microsoft spolupracuje s Canonicalem, součástí WSL jsou klíčové textové nástroje z  Ubuntu 14.04 LTS ve speciálním režimu user-mode. Do tohoto prostředí se pak přepnete jednoduše tak, že spustíte příkazovou řádku bash stejně, jako byste otevřeli klasickou příkazovou řádku Windows cmd.

794415226 878907881
Architektura vrstvy WSL, která překládá linuxové systémové instrukce, a konečně Bash z Ubuntu, který díky tomu může běžet na Windows 

Uvnitř bashe pak můžete spouštět všemožné linuxové příkazy a programy, a jelikož se jedná o ořezanou verzi Ubuntu, nechybí ani systém apt-get, který se na Ubuntu stará o instalaci nových aplikací z centrálního katalogu, takže na Windows 10 budete moci spouštět i libovolné další textové programy. Vlastně cokoliv, co umožní samotný režim user-mode a kapacity WSL.

832385295 941685145 538946419
Apt-get, editor vi a překladač gcc na Windows a to zcela oficiálně a bez aprílu

Pro vývojáře

No dobrá, ale proč to vlastně Microsoft dělá? Konference Build je věnovaná vývojářům a zejména ti internetoví Linux milují, protože skýtá hromadu klíčových nástrojů a interpretů počínaje Pythonem a konče třeba Ruby. WSL je tu přesně od toho, aby pokud možno stejný servis nabídl i na Windows.

946548427
Oddíl C je z WSL dostupný na předpokládané linuxové cestě /mnt/c

To v praxi znamená, že vývojář bude moci kód napsat ve svém oblíbeném editoru na Windows, ale zároveň bude moci použít i všemožné bashové skripty a linuxové aplikace a udělátka, kterých je plný GitHub, aniž by musel programátor všechny tyto programy, pokud jsou vůbec portované i pro Windows, zdlouhavě instalovat standardní cestou. Prostě otevře bash, napíše třeba apt-get install git a bude mít git. Binárně naprosto totožný a čerstvý git jako na Ubuntu – žádný port pro Windows.

WSL má ohromný přesah. Nejde jen o vývojáře

WSL má tedy pomoci především vývojářům, ovšem má i ohromný a historický přesah. Krok Microsoftu a volba Canonicalu jakožto klíčového partnera zpopularizuje právě tento linuxový systém, jehož příkazovou řádku a textové prostředí si přímo na Windows a bez další instalace a konfigurace bude moci rázem vyzkoušet naprosto každý.

Z WSL se stane nejen pomocník pro programátory, ale i sandboxované hřiště, ve kterém se i naprostý zelenáč bude moci seznámit s linuxovým světem, jeho výhodami i případnými překážkami. Vzhledem k tržní síle Windows by měl být tedy nadšený jak šéf Canonicalu Mark Shuttleworth, tak celá komunita open-source a GNU.

Již brzy pro betatestery

Pokud používáte čerstvou verzi Windows 10 Insider, základní ovladače pro Windows Subsystem for Linux už dávno máte, jeden z nejzvídavějších fanoušků Windows 10 jménem WalkingCat už totiž na sklonku ledna referoval na Twitteru o dvou nových systémových procesech lxcore.sys a lxss.sys, ačkoliv tehdy ještě přesně netušil, k čemu vlastně slouží.

Systém ale zatím není prakticky použitelný, chybí totiž další software a hlavně soubory samotného Ubuntu. To vše by ale mělo dorazit k betatesterům už velmi brzy – snad hned v příštím testovacím sestavení z rychlého aktualizačního kanálu programu Insider.

Microsoft dopředu upozorňuje, že je WSL stále ve fázi rané betaverze, a tak zdaleka ne všechny programy budou nakonec opravdu fungovat.

 

Microsoft se pokouší o kompatibilitu s unixovými systémy už skoro třicet let

Linuxový subsystém uvnitř Windows a vůbec relativní otevřenost Redmondu vůči unixovému světu ve skutečnosti není až takovou novinkou. S podporou unixových programů totiž Microsoft počítal už na počátku 90. let v rámci vývoje Windows NT, které podporovalo subsystémy Windows, OS/2 a omezeně právě architekturu POSIX ze světa unixových operačních systémů, ačkoliv součástí Windows nebyl žádný unixový shell – příkazová řádka. 

Tzv. Microsoft POSIX subsystem byl součástí okenních operačních systémů z rodiny NT až do Windows XP, kdy jej vystřídaly další technologie Windows Services for UNIX, respektive Subsystem for UNIX-based Applications, které byly k dispozici ještě ve Windows 7 a odpovídajících serverových verzích Windows.

Windows Subsystem for Linux, ačkoliv se jedná o zcela novou technologii, tedy ve skutečnosti navazuje na skoro třicetiletou snahu, jak docílit alespoň určité vzájemné kompatibility těchto dvou světů.

 
Diskuze (94) Další článek: Zlatý padák pro Marissu Mayerovou. Kritizovaná šéfka Yahoo dostane 895 milionů

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , , ,