Nový Windows 10 Insider Preview: Integrované Ubuntu v akci a další novinky

  • A je to tady, Linux na Windows už můžeme testovat
  • Drobnou oklikou lze spouštět i grafické programy
  • Nový build ale přináší i další novinky
Kapitoly článku

Týden po sanfranciském Buildu Microsoft do světa vypustil nové sestavení Windows 10 Insider Preview 14316, jehož hlavní specialitou je onen hojně citovaný bash – anebo plným jménem Bash on Ubuntu on Windows.

Ačkoliv jsme mu věnovali samostatný článek, tentokrát si už konečně může každý vyzkoušet, co skutečně umí, takže si jej ještě připomeneme. A podíváme se samozřejmě i na další novinky tohoto sestavení, protože integrovaným Ubuntu ve Windows to zdaleka nekončí.

Ubuntu nativně na Windows

Abyste se dostali k bashi, samotný upgrade na nový build z rychlého aktualizačního kanálu nestačí. Nejprve budete muset povolit v moderní aplikaci Nastavení Vývojářský režim a to v sekci Aktualizace a zabezpečení – Pro vývojáře.

407008129 521966301
Aktivace Windows Subsystem for Linux

Poté musíte spustit dialog Funkce systému Windows (dohledáte jej z nabídky Start) a na konci seznamu najdete novou položku Windows Subsystem for Linux (Beta). Nakonec otevřete příkazovou řádku cmd, napište bash a dokončí se celá instalace. Samotný bash poté můžete spouštět buď opět z cmd, anebo v samostatném okně, v nabídce Start totiž najdete zástupce s ikonou Ubuntu.

927322357 740669862
Jakmile aktivujete Windows Subsystem for Linux, můžete příkazem bash v příkazové řádce stáhnout obraz Ubuntu z Windows Store a konečně se přepnout do linuxové příkazové řádky

Bash pro Windows se v mnoha ohledech liší od klasického Linuxu. Vůbec se tu třeba nehraje na uživatele a práva – na svém vlastním linuxovém pískovišti jste prostě root, a jelikož jsou všechny soubory Ubuntu uložené v uživatelském adresáři c:\users\<uživatel>\appdata\local\lxss\rootfs, i samotné Ubuntu nebude mít vyšší práva než uživatel, kterému patří.

989639130 876485100
Souborový systém Ubuntu skrytý v uživatelské složce Windows a konečně bash v akci

Ačkoliv se nejedná o klasickou virtualizaci, ale linuxové programy se spouštějí přímo s pomocí překladače systémových volání integrovaného hluboko do jádra Windows, oba dva světy jsou přeci jen už z principu izolované. Každý linuxový systém má svůj kořenový adresář /, zatímco Windows systémový diskový oddíl C:. Z bashe se k němu ale snadno dostanete, je totiž k dispozici na cestě /mnt/c. Stejně tak je k dispozici sdílená systémová schránka.

988739627
Linux version 3.4.0-Microsoft...  Aneb vzpomínáte si na ta dávná slova, kdy Ballmer prohlašoval, že je Linux rakovina? Rakovina ve Windows a podepsaná Microsoftem. Toto není zmrzlé peklo, to je absolutní nula v pekle! 

Tím ale vzájemné propojení končí. Linux je Linux a Windows je Windows, když tedy budete chtít z bashe spustit EXE program – třeba /mnt/c/windows/write.exe, tak máte smůlu, protože to prostě optikou Linuxu není podporovaný spustitelný program.

374824388
Přihlašujete se z Windows k linuxovým serverům pomocí Putty? Nyní si už vystačíte s bashem. Vždyť je tu nativní ssh.

Stejně tak z klasické příkazové řádky Windows nemůžete spustit přímo některý z linuxových programů. Z toho plyne, že zatím nelze ani kombinovat vstupy a výstupy těchto dvou heterogenních světů, kdy výstup z linuxového textového programu rourou pošlete třeba do notepad.exe. Programátoři už sice volají, aby k jakémusi propojení došlo, otázkou ovšem je, jestli je to dost dobře možné – Microsoft by musel nejprve vytvořit bránu, která by tato mezisystémová volání a výměnu dat spravovala.

Grafický Linux

Ubuntu ve Windows je zatím výhradně textové. Součástí není žádný X server (grafický subsystém), který by dokázal zobrazit grafickou aplikaci v okně. Není se čemu divit, to totiž ani není účel linuxového bashe na Windows. Má pomáhat vývojářům, má umožnit spouštění linuxových skriptů a nástrojů, ale pokud chcete spouštět grafické aplikace, jsou tu jiné a dnes i spolehlivější cesty – především tradiční virtualizace.

Nicméně, alespoň teoreticky, nešlo by to přeci jen nějakou oklikou? Šlo! Stačí mít po ruce některý X server portovaný pro Windows – třeba jednoduchý vcXsrv. Pak už stačí v bashi pomocí nástroje apt-get z repozitáře Ubuntu nainstalovat kýženou grafickou aplikaci (pro testovací účely třeba balík primitivních x11-apps).

381236271
Jednoduchá grafická linuxová aplikace xclock z balíku x11-apps spuštěná v bashi a zobrazená na Windows pomocí X serveru vcXsrv

Jednou z nich jsou třeba grafické hodiny xclock nebo kalkulačka xcalc. Když je ale budete chtít spustit, bash nahlásí chybu, protože přeci neumí zobrazit grafický program – chybí mu displej. Pokud jste ale nainstalovali a spustili vcXsrv, stačí napsat příkaz:

export DISPLAY=:0

Bash poté grafický výstup programu pošle na tento jednoduchý X server, který jej na Windows zobrazí v samostatném a systémovém okně.

928657647
A co se pokusit na Windows nativně spustit rovnou gnome-control-center, respektive jinou aplikaci z grafického prostředí GNOME? Tak určitě!

Ubuntu on Windows nemá nahrazovat kompletní Linux. Je to shell pro vývojáře

Windows Subsystem for Linux je zatím ve fází betaverze, takže ne vše bude fungovat (top třeba bash prakticky zabije), nicméně pohlížejte na něj opravdu spíše jako na doklad toho, že to je vůbec možné, vývoj celé integrace Linuxu do Windows je totiž velmi raný a živý.

478646201
Přesně k tomuto má Ubuntu na Windows sloužit: Stáhl jsem přes wget zdrojový kód linuxového programu v C, přeložil jej pomocí gcc a rovnou spustil. Zabralo to pár okamžiků (včetně instalace libssl-dev) a já nemusel na Windows zdlouhavě virtualizovat některou z linuxových distribucí.

Podstatné je to, že instalace textových programů pomocí apt-get funguje na jedničku, takže vývojáři mohou instalovat různé programovací nástroje, interprety a mohou překládat linuxové programy v C/C++ třeba z GitHubu, protože nechybí ani překladač gcc (resp. jej lze doinstalovat). Mohou si hrát s nejrůznějšími knihovnami pro python, které mají závislosti, které na Windows prostě chybí, a tak dále. Tady zatím betaverze Ubuntu pro Windows funguje až obdivuhodně dobře.


Windows Subsystem for Linux ale opravdu není jedinou novinkou tohoto buildu. Ty další najdete v následující kapitole.

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