Skutečným důvodem, proč Canonical a Microsoft přinesly Ubuntu do Windows 10, bylo umožnit správcům systému a vývojářům používat ve Windows Bash a další linuxové shell programy, jako jsou make, gawk a grep. Uživatelé Linuxu, kteří jsou od přírody hackeři, začali okamžitě pracovat na tom, aby se grafické plochy Linuxu dostaly do subsystému Windows Subsystem for Linux (WSL).
Hádejte co? Podařilo se to.
Guatemalskému programátorovi, který vystupuje pod přezdívkou Guerra24 na GitHubu, se „podařilo spustit Unity uvnitř WSL, což ukazuje, že je plně schopen spustit celé desktopové prostředí.“
Není to snadné a ke kompletnímu linuxovému desktopu to má ještě daleko, ale je to začátek. Pokud chcete spustit linuxový desktop Ubuntu v systému Windows 10 pro práci, doporučuji to udělat prostřednictvím programu virtuálního počítače (VM), jako je například VirtualBox od společnosti Oracle. Pokud se však chcete jen pobavit a zdokonalit své programátorské dovednosti v oblasti desktopu, můžete i vy zkusit spustit Ubuntu v systému Windows 10 nativně.
Chcete-li se do tohoto projektu pustit ještě dnes, musíte mít spuštěnou beta verzi systému Windows 10 Fast Ring. Po veřejném vydání aktualizace Windows 10 Anniversary Update si ji bude moci vyzkoušet každý.
Jak to tedy udělat? Po aktualizaci Windows 10 postupujte podle mého návodu.
Nejprve musíte zapnout vývojářský režim Windows 10 prostřednictvím Nastavení > Aktualizace & zabezpečení > Pro vývojáře. Poté vyhledejte položku „Funkce systému Windows“ a vyberte možnost „Zapnout nebo vypnout funkce systému Windows“ a povolte Subsystém systému Windows pro Linux (Beta).
Poté, chcete-li nainstalovat Bash, musíte otevřít Příkazový řádek systému Windows a zadat „bash“. Budete vyzváni k přijetí podmínek služby a stažení Ubuntu. Typické stažení Ubuntu je o něco menší než jeden gigabajt. Pokud tedy máte pomalé připojení k internetu, připravte se na čekání. Po instalaci budete používat verzi Ubuntu 14.04 v uživatelském prostoru nad WSL.
Technicky vzato nespustíte Linux. Může to vypadat jako Linux a pištět jako Tux, linuxový tučňák; ale není to Linux. To proto, že uživatelský prostor Ubuntu neběží na linuxovém jádře, ale na WSL. WSL poskytuje háčky API, aby se Ubuntu a linuxové aplikace tvářily jako Linux, ale není to totéž. To se stane důležitým, jak budeme pokračovat.
Jakmile budete mít Ubuntu nainstalované, budete ho muset aktualizovat. To provedete z prostředí Bash spuštěním následujících příkazů:
1. apt-get update
2. apt-get upgrade
Nyní se přepněte zpět na Windows 10 a nainstalujte Xserver kompatibilní s Windows. Ten Ubuntu používá k zobrazení grafického rozhraní. Pro naše účely jsou nejlepší vcxsrv nebo Xming.
Dále musíte Ubuntu o Xserveru informovat, aby jej mohlo používat. Za tímto účelem můžete v shellu zadat následující příkaz:
DISPLAY=:0.0
Nyní se v systému Windows 10 zobrazí jakýkoli grafický linuxový program. Ještě lepší je, pokud hodláte s grafickým linuxovým softwarem na WSL pracovat i nadále, nechat WSL automaticky připravit na grafické programy umístěním příkazu do konfiguračního souboru Bash: „.bashrc“. Snadný způsob, jak to udělat, je použít příkaz echo a zapsat ho následujícím příkazem shellu:
echo „export DISPLAY=:0.0“ >> ~/.bashrc
Po tomto příkazu můžete spouštět grafické linuxové programy, například Firefox, nebo desktopy… ale nepoběží dobře a dlouho. To proto, že WSL neobsahuje podporu socketů. Sokety jsou to, co Unix a Linux používají ke komunikaci mezi službami. Na desktopu Linux je výchozím způsobem implementace soketů systém přenosu zpráv D-Bus. Bez D-Busu mnoho grafických programů na desktopu Linuxu nefunguje tak dobře, pokud vůbec.
WSL však podporuje síťový protokol TCP a uživatel Redditu jménem ShaRose našel způsob, jak přimět D-Bus používat tcp místo socketů. Dokonalé? Ne, ale funguje to.
Chcete-li to povolit, spusťte následující příkaz:
sudo sed -i ‚s/<listen>.*<\/listen>/<listen>tcp:host=localhost,port=0<\/listen>/‘ /etc/dbus-1/session.conf
Tímto jsem pomocí proudového editoru sed změnil konfigurační soubor D-Busu tak, že od této chvíle bude používat tcp místo socketů. Konečný výsledek? Aplikace, které potřebují D-Bus, nyní poběží na WSL.
V dalším kroku přišel čas na instalaci programů pro grafické prostředí. To provedete spuštěním těchto programů z prostředí Bash:
- apt-get install ubuntu-desktop
- apt-get install unity
- apt-get install compiz-core
- apt-get install compizconfig-settings-manager
První příkaz nainstaluje základní programy pro desktop Ubuntu. To bude zahrnovat programy pro koncové uživatele, jako je LibreOffice, Další příkaz nainstaluje pracovní plochu Unity. Poslední dva příkazy nainstalují Compiz, správce kompostování grafiky OpenGL a jeho front-end ccsm. Dalším krokem bude použití ccsm k nastavení pracovní plochy.
Po instalaci všech těchto programů spusťte ccsm z prostředí Bash. V rozhraní ccsm budete muset povolit následující zásuvné moduly Compiz:
Obecné:
- Příkazy
- Kompozit
- Kopírování do textury
- OpenGL
Plocha:
- Ubuntu Unity Plugin
Načítání obrázků:
- PNG
Utility:
- Knihovna nástrojů Compiz
- Správa oken
- Přesunout okno
- Umístit okno
- Změnit velikost okna
- Změnit měřítko
- Přesunout okno
Nyní, abyste tuto show mohli spustit, zavřete ccsm a spusťte rozhraní Unity spuštěním compizu z Bash.
Přibližně za minutu byste měli mít Unity spuštěné.
Nyní se do toho nepouštějte s falešnými očekáváními. Nebude to fungovat dobře. Ale na mém testovacím systému s Windows 10, stolním počítači ASUS s procesorem i7 3770 třetí generace a 8 GB paměti RAM, to běželo dostatečně dobře, takže jsem si jistý, že někdo nakonec najde způsob, jak na WSL užitečně zprovoznit desktop Ubuntu.
Nyní mě omluvte, jdu se podívat, jestli se mi podaří na WSL zprovoznit Quake, starou střílečku z pohledu první osoby. Jsem „takhle“ blízko tomu, abych ji spustil.
Související příběhy:
- Jak začít s Ubuntu a Bash na Windows 10
- Ubuntu (ne Linux) ve Windows: Jak to funguje
- Microsoft a Canonical ve spolupráci přinášejí Ubuntu do Windows 10