Linuks w Windows: Windows Subsystem for Linux (WSL)

Macie komputer z Microsoft Windows? Potrzebujecie dystrybucji linuksa – a nie chcecie zrezygnować z już zainstalowanego Windows? Jest na to kilka sposobów…

Możecie tworzyć systemy typu dual-boot, gdzie dwa (lub więcej) systemy instalowane są ‚obok’ siebie – na przykład różnych dyskach czy partycjach. Przy włączeniu komputera wybieracie z którego systemu będziecie korzystać. Odpowiednio skonfigurowany bootloader (np. GRUB) startuje jeden system – albo inny. Windows i linuks muszą podzielić się przestrzenią na dysku, ale po starcie – wszystkie zasoby sprzętowe są do ich wyłącznej dyspozycji.

Na Windows możecie też zainstalować maszynę wirtualną z linux. Wystarczy uruchomić oprogramowanie jak np. VirtualBox. Tworzycie wirtualną maszynę i w niej instalujecie linuksa. W ten sposób macie coś w rodzaju „komputera w komputerze”. Niestety w jednym momencie działają dwa systemy operacyjne. Muszą dzielić się zasobami jak pamięcią operacyjna czy czasem procesora. W rezultacie maszyny wirtualne wymagają solidnych platform.

Możecie też wypalić CD/ pendrive USB z wersją „live” linuxa – i uruchamiać komputer z niego zamiast z twardego dysku. W ten sposób nie musicie nawet zmieniać niczego na dysku. Niestety takie systemy są wolniejsze, pojawiają się też problemy z zapisywaniem danych (zmian, które wprowadzacie w systemie). Rozwiązanie dobre na np. pokazy – ale do codziennej pracy nie bardzo się nadaje. Niektóre dystrybucje specjalnie przeznaczone są do takiego właśnie trybu pracy – jak np. edukacyjny Knoppix.

Jeżeli nie cały system, to może chociaż narzędzia? Istnieją „porty” narzędzi linuksowych na Windows – takie jak cygwin i podobne. Narzędzia dostępne na linuks przebudowano tak, żeby działały na Windows. W ten sposób otrzymujecie linię poleceń z wybranymi narzędziami. Ale – muszą to być specjalnie przebudowane (portowane) narzędzia.

Od pewnego czasu jest też Windows Subsystem for Linux:)

WSL swoją premierę miał już w 2016 roku. Ostatnie duże uzupełnienie przyszło razem z Fall Creators Update. Wtedy pojawiła się już wersja oficjalna. Wcześniej WSL był dodatkiem w wersji beta. Oprogramowanie jest cały czas rozwijane i wydaje się, że Microsoft w nie inwestuje.

Do projektu udało się namówić inne firmy. Stąd na przykład w klapie Windows pojawił się Ubuntu.

WSL to taka cienka warstwa umożliwiająca uruchamianie narzędzi linuksowych na Windows. Instalacja Ubuntu ze Sklepu Windows to nie jest pełna wersja dystrybucji- np. nie zawiera kernela. Oczywiście zakres, który WSL wspiera, jest ograniczony (jeszcze). Listę wspieranych funkcji i programów znajdziecie:

  • https://github.com/ethanhs/WSL-Programs
  • Webowe: https://github.com/davatron5000/can-i-subsystem-it

Instalacja

W Windows 10 Fall Creators:

  • Przejdźcie do panelu sterowania; wybierzcie element „Programy”:
  • Kliknijcie link „Włącz lub wyłącz funkcje systemu Windows”
  • Na liście odszukajcie element: Podsystem Windows dla systemu Linuks”:
  • Po wciśnięciu „OK”, system przystąpi do pobierania wymaganych składników. Na końcu musicie zrestartować komputer:
  • Przejdźcie do Sklepu Windows i odnajdźcie „ubuntu”. Na liście pojawią się elementy typu”ubuntu”, „ubuntu 18.04” oraz „ubuntu 16.04” (stan na 13 czerwca 2018). Element „ubuntu” instaluje ostatnią stabilną wersję LTS (long term support). Użyjcie go:

    „Ubuntu 18.04” lub „Ubuntu 16.04” to konkretne wersje. . Wersja bez ‚numerka’ może być uzupełniana do najnowszej.

  • Po zainstalowaniu w menu pojawi sie nowy element: Ubuntu. Uruchomcie go. Instalacja potrwa kilka minut.
  • Po chwili system poprosi Was o stworzenie konta – podajcie swój nowy login i hasło:

    Podany login będzie domyślnym kontem użytkownika. Dodatkowo użytkownik ten będzie dodany do grupy administratorów.
  • Na koniec instalacji powinniście dostać znak zachęty lini poleceń ubuntu;

    Warto teraz wejść do właściwości okna: lewy klawisz myszy na ikonę ubuntu w lewym górnym rogu okna (pasek z nazwą); wybierzcie „Właściwości” i zakładkę „Układ”. W polu „Wysokość” panelu „Rozmiar buforu ekranu” ustawcie jakąś dużą wartość, np. 9999. W ten sposób będziecie mogli przewijać do 9999 linijek wstecz.

  • Sprawdźmy wersję:

    Hmm… nie najnowsza…

Uzupełnianie

Jednymi z pierwszych poleceń, które zazwyczaj wykonuje się w nowym systemie, są te dotyczące jego uzupełniania. W Windows mamy System Update. W ubuntu na WSL specjalny skrypt automatycznie uzupełni system do najnowsze wersji:

Proces może potrwać nawet 2 godziny. W kilku punktach trzeba potwierdzić operacje, np. konfiguracji sshd (keep the local version currently installed) czy usuwania niepotrzebnych już pakietów.

Teraz:

Polecenie zainstalowało najnowszą wersję systemu. Oczywiście linuks jest uzupełniany na bieżąco – za jakiś czas warto uruchomić:

Obie operacje powinny powieść się bez problemu.

To, co warte podkreślenia:  Ubuntu na WSL jest podłączone do oficjalnych repozytoriów! A to ważne, bo:

  • Możecie uzupełniać dystrybucję o wszelkie poprawki i nowsze wersje zainstalowanych składników,
  • Możecie pobierać narzędzia z repozytorium ubuntu.

Co by tu zainstalować… Może opisywanego ostatnio lynxa? Jasne:

…i sukces:)

Podobnie np. z narzędziem htop do monitorowania pamięci:

Ale, np. polecenie lsusb (wyświetlajce urządzenia USB) – już nie zadziała:

…podobnie jak kilka innych.

Okna?! (XMing i gimp)

Na WS można również wywołać interfejs graficzny. Korzystam tu z instrukcji podanych na blogu christopher5106. W kolejnych krokach:

  • Na Windows: zainstalujcie Server XMing, możecie go pobrać spod https://sourceforge.net/projects/xming/,
  • Windows: uruchomcie progam XLaunch; wybierzcie jak okienka X mają być wyświetlane np. One Window – w jednym oknie; upewnijcie się, że Display Number wskazuje 0; wciśnijcie ‚Dalej’,
  • Windows/XLaunch: wybierzcie Start no client; „Dalej”,
  • Windows/XLaunch: przejdźcie przez Specify parameter settings – bez zmian,
  • Windows/XLaunch: Zakończcie na następnym dialogu; teraz serwer X wystartuje a na ekranie zobaczycie duże okno z zakreskowanym obszarem,
  • Ubuntu: wykonajcie polecenie:

    Możecie taką linijkę dodać do pliku .profile (np. na końcu)- wtedy zmienna będzie ustawiana przy każdej sesji:

  • Ubuntu: idziemy na całość: instalujemy  gimpa:

    Instalacja trochę trwała – ale skończyła się sukcesem. I uruchamiamy:

  • Pełny sukces… linuksowy gimp współpracujący z serverem X-Window XMing (Multiple Windows) uruchamiany z Ubuntu zainstalowanego przez WSL na Windows 10…

Czy trzeba czegoś więcej?

O ile Xming działa, o tyle jego ostatnia publiczna wersja ma już… 10 lat. Dostępne są nowsze wersje – niestety płatne. Spróbujcie więc na przykład vcXsrv.

Bez przesady… środowisko graficzne? (XMing i lxde)

Hmm, a jakby tak uruchomić całe środowisko graficzne?! Spróbujmy znane z lubuntu lxde:

Do pobrania będzie prawie 800Mb (760 pakietów), więc uzbrójcie się w cierpliwość. Ale powinno zadziałać:)

GRY?!

Sprawdźmy ‚matkę wszystkich gier’: scorched.  W oknie Ubuntu:

Działa, nawet w miarę sprawnie:

Listę innych darmowych gier znajdziecie na help.ubuntu.com. Niektóre mogą mieć problemy z płynnością.

Dostęp do plików?

Pod Windows, system plików ubuntu znajdziecie w katalogu AppData użytkownika, na przykład:

11 czerwca 2018: źródła podają, że pod żadnym pozorem nie powinno się modyfikować plików linuksowych z tych podkatalogów za pomocą narzędzi Windows (np. notepad). Może to się skończyć uszkodzeniem plików i koniecznością reinstalacji.

Z samego Ubuntu możecie się również dostać do plików Windows. Dydki Windows podmontowane są pod /mnt, a więc:

Przechodząc do /mnt/c – zobaczycie zawartość katalogu głównego:

Podsumowanie

Oczywiście Ubuntu na WSL to nie ‚prawdziwa’ dystrybucja linux. Zdecydowanie ma problemy z wydajnością, zwłaszcza jeżeli chodzi o operacje na dysku. Na razie trochę rzeczy jeszcze nie działa np. dostęp do USB czy urządzeń blokowych (lsblk). Ale – postępy są widoczne. A Microsoft zdaje się inwestować w WSL.

Rozwijane są również inne dodatki do systemu ‚kompatybilne’ z linuks, na przykład natywny klient/serwer openSSH (komunikacja po ssh). Wciśnijcie ‚Start’, wyszukajcie ‚Dodaj funkcję opcjonalną’. Na ekranie ‚Zarządzanie funkcjami opcjonalnymi’ kliknijcie ‚+Dodaj funkcję’ i z listy (pojawi się po dłuższej chwili) wybierzcie: openSSH (klient lub serwer). Teraz powróćcie do poprzedniego ekranu (Zarządzanie funkcjami opcjonalnymi). openSSH powininen być już na liście. W linii komend pojawi się po restarcie. Wkrótce ma się  również pojawić natywny tar (pakowaczka do plików). Notepad ma obsługiwać linuksowe końce linii.

Myślę, że WSL jest bardzo obiecujący. Ale czas pokaże, jak się rozwinie.

Podyskutuj na ten temat na facebook.

Dual boot Maszyna wirtualna Wersja Live Ubuntu for WIndows Subsystem for Linux
System operacyjny Pełny system działający niezależnie od innych zainstalowanych Pełny system, ale ograniczony możliwościami (zasobami) maszyny wirtualnej Pełny system działający niezależnie od innych zainstalowanych Właściwie zestaw narzędzi – bez samego kernela.
 Startuje… Z dysku, przełączanie między systemami wymaga restartu maszyny  W nowym oknie – jak kolejna aplikacja; uruchomienie nie wymaga restartu.  Wymaga restartu systemu i możliwości odpalenia z USB lub napędu CD/DVD Jak kolejna aplikacja
 Zasoby: dysk twardy  Dzieli się dyskiem z innymi systemami; najczęściej instalowany jako kolejna partycja  Zajmuje miejsce na dysku jak inne aplikacje; możliwe jest tworzenie „dynamicznych” dysków – które rozszerza się w miarę potrzeb  Właściwie nie zajmuje miejsca na dysku, chyba że przeznaczycie jakąś partycję do podmontowania jako katalog domowy. Jak każda aplikacja – i może rosnąć.
 Zasoby: pamięć RAM i CPU Po uruchomieniu ma pamięć RAM  i CPU na wyłączność. Dzieli zasoby z ‚hostem’ – systemem, na którym startowana jest maszyna wirtualna. Po uruchomieniu ma pamięć RAM  i CPU na wyłączność. Jak każda inna aplikacja – dzieli zasoby z systemem Windows i innymi aplikacjami.
Czy da się z tym pracować?! Jak najbardziej. Z takiej konfiguracji korzystam. Można, ale potrzebujecie nielichej maszyny. Można, ale na krótką metę Hmmm… czas pokaże:)
Problemy z uzupełnianiem

W pewnym momencie wystąpiły problemy z uzupełnianiem systemu:

Problemem okazał się nieprawidłowo ustawiony czas w komputerze. Po ponownym zsynchronizowaniu go – uzupełnienie poszło bez problemów.

Źródła

  • https://www.pcgamer.com/linux-in-windows-10/
  • http://wsl-guide.org/en/latest/
  • https://www.dobreprogramy.pl/Windows-Subsystem-for-Linux-to-juz-nie-beta-oto-co-wolno-z-nim-robic,News,82439.html
  • https://docs.microsoft.com/en-us/windows/wsl/install-win10
  • https://blogs.msdn.microsoft.com/commandline/
  • http://antyweb.pl/openssh-windows-10/