Głębokie zanurzenie w możliwościach WSL2

Photo of author

By maciekx

Windows i Linux to dwa dominujące systemy operacyjne na rynku. Windows, znany ze swojej łatwości użytkowania, konkuruje z Linuksem, który oferuje zaawansowane opcje personalizacji, czyniąc go preferowanym wyborem wśród programistów, osób dążących do produktywności oraz tych, którzy stale poszerzają swoją wiedzę.

Dotychczas, aby korzystać z obu systemów, konieczne było stosowanie wirtualizacji w środowisku Windows lub konfiguracja dual boot.

Jednakże, pojawiła się nowa funkcjonalność w systemie Windows, umożliwiająca bezproblemowe korzystanie z Linuksa bezpośrednio w środowisku Windows.

Przedstawiamy WSL2 – Podsystem Windows dla systemu Linux. Ta funkcja systemu Windows pozwala na bezpośredni dostęp do środowiska Linux, bez konieczności stosowania dodatkowych rozwiązań.

W tym artykule skupimy się na WSL2, analizując jego istotę, cel, proces instalacji oraz możliwości efektywnego wykorzystania.

Zacznijmy naszą podróż w głąb WSL2.

Czym jest Podsystem Windows dla systemu Linux?

Podsystem Windows dla systemu Linux (WSL) umożliwia korzystanie ze środowiska GNU/Linux bezpośrednio z poziomu terminala Windows. Eliminuje to potrzebę konfiguracji dual boot czy używania wirtualnych maszyn. Dzięki WSL mamy dostęp do jądra Linuksa, co pozwala na wykorzystanie jego funkcji – w tym narzędzi wiersza poleceń, aplikacji oraz różnorodnych programów – bezpośrednio w środowisku Windows.

WSL2 to najnowsza odsłona podsystemu Windows, która zapewnia udoskonalone funkcje i wyższą wydajność w porównaniu do WSL1, wprowadzonego w systemie Windows 10. Większość instalacji Windows ma WSL preinstalowany, ale wymaga on aktywacji.

W tle, WSL2 wykorzystuje technologię maszyn wirtualnych Hyper-V, dzięki czemu jest kompatybilny i osiąga szybkość działania nawet 20 razy wyższą niż WSL1.

Podsumowując, WSL2 to zaawansowany podsystem Windows dla systemu Linux, który zapewnia użytkownikom Windows bezpośredni dostęp do jądra Linuksa.

Pierwsze kroki z WSL2

W dalszej części artykułu będziemy korzystać z Terminala Windows, który jest nowoczesnym i wydajnym narzędziem do pracy z wierszem poleceń i WSL. Jest on szczególnie polecany użytkownikom, którzy chcą efektywnie wykorzystywać możliwości terminali w systemie Windows.

Wymagania sprzętowe

Nie wszystkie komputery PC są kompatybilne z WSL2. Aby uruchomić WSL2, system musi wspierać wirtualizację, ponieważ WSL2 korzysta z technologii Hyper-V.

Konieczne jest także posiadanie 64-bitowego procesora z obsługą SLAT (Second Level Address Translation). Obecnie, większość nowoczesnych procesorów spełnia te wymagania.

Pod względem miejsca na dysku, wymagane jest co najmniej 1 GB wolnej przestrzeni.

Włączanie wirtualizacji z BIOS

Jeśli Twój sprzęt spełnia powyższe wymagania, konieczne jest włączenie wirtualizacji z poziomu BIOS-u płyty głównej.

Aby wejść do BIOS-u, należy nacisnąć odpowiedni klawisz podczas uruchamiania komputera (najczęściej F2, Del lub F10).

W ustawieniach BIOS-u należy odnaleźć i aktywować funkcję Secure Virtual Machines (SVM) dla procesorów AMD lub Virtualization Technology (VT-x) dla procesorów Intel. Po wprowadzeniu zmian, należy ponownie uruchomić komputer.

Szczegółowe instrukcje dotyczące włączania wirtualizacji, można znaleźć w artykule „Jak zainstalować Ubuntu w systemie Windows 10 za pomocą funkcji Hyper-V”.

Włączanie funkcji Windows dla WSL2

Gdy wymagania sprzętowe zostaną spełnione, można przystąpić do aktywacji WSL2 w systemie Windows.

Pierwszym krokiem jest weryfikacja wersji systemu Windows, która pozwoli ustalić, czy nasz system jest kompatybilny z WSL.

Aby to zrobić, wciśnij klawisze CMD + R, wpisz „winver” i potwierdź. Wyświetli to informacje o wersji Twojego systemu Windows.

Użytkownicy Windows 10 najczęściej korzystają z WSL1, natomiast w Windows 11 domyślnie instalowany jest WSL2.

Wszystkie edycje Windows 10 i 11, poza wersją S, wspierają WSL2. Windows S ze względu na swoje bezpieczeństwo, ma wyłączoną wirtualizację.

Jeśli korzystasz z Windows S, musisz zmienić wersję na inną, np. Windows Home lub Pro. Możesz to zrobić wchodząc w Ustawienia > Aktualizacja i zabezpieczenia > Aktywacja.

Dodatkowo, upewnij się, że masz zainstalowane najnowsze aktualizacje systemu Windows. Zapewni to pełną kompatybilność i wsparcie dla WSL2. Aktualizację systemu znajdziesz w Ustawienia > Windows Update.

Aby móc korzystać z WSL2, niezbędne jest aktywowanie kilku funkcji systemu Windows.

Przejdź do Panelu sterowania > Programy i funkcje i wybierz „Włącz lub wyłącz funkcje systemu Windows”. Otworzy się okno, w którym należy odnaleźć i zaznaczyć „Hyper-V”, „Platforma maszyny wirtualnej” i „Podsystem Windows dla systemu Linux”.

Po zaznaczeniu funkcji system poprosi o ponowne uruchomienie komputera.

Możesz również aktywować te funkcje za pomocą wiersza poleceń, wpisując:

$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Instalacja WSL2

Po spełnieniu wszystkich wymagań wstępnych, można przejść do instalacji WSL.

Otwórz Terminal Windows (Windows 10) lub Windows PowerShell (Windows 11) i wpisz komendę:

$ wsl

#wyjście

Copyright (c) Microsoft Corporation. All rights reserved.

Usage: wsl.exe [Argument]

Arguments:
.....

Ten komunikat oznacza, że usługa WSL jest dostępna, ale nie została jeszcze aktywowana.

Aby zainstalować WSL, uruchom z uprawnieniami administratora następujące polecenie:

$ wsl --install

#wyjście

PS C:\Users\Logan99> wsl --install

Installing: Virtual Machine Platform
Virtual Machine Platform has been installed.
Installing: Windows Subsystem for Linux
Windows Subsystem for Linux has been installed.
Installing: Ubuntu
Ubuntu has been installed.
The requested operation is successful. Changes will not be effective until the system is rebooted.

Możliwe, że nie zobaczysz tego komunikatu, jeśli funkcje zostały aktywowane za pomocą funkcji systemu Windows. W takim przypadku powinieneś zobaczyć ten komunikat (Jeśli tak jest, przejdź do następnej sekcji).

Ubuntu is already installed.
Launching Ubuntu...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:
New password:
Retype new password:

Aby sprawdzić wersję WSL, użyj komendy wsl –version.

$ wsl --version

#wyjście

WSL version: 1.1.6.0

Kernel version: 5.15.90.1

WSLg version: 1.0.50

MSRDC version: 1.2.3770

Direct3D version: 1.608.2-61064218

DXCore version: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp

Windows version: 10.0.22621.1413

Powyżej, widzimy wersję WSL 1.1.6.0, która jest już zainstalowana. Jeśli po wpisaniu komendy w terminalu pojawia się błąd, oznacza to, że WSL nie jest zainstalowany.

Aby zmienić wersję na WSL2, użyj polecenia:

$ wsl --set-default-version 2

Ponieważ WSL był preinstalowany w naszym systemie, pojawia się powyższy komunikat.

WSL można również zainstalować ze Sklepu Windows. W tym celu należy wyszukać „Podsystem Windows dla systemu Linux”.

Kliknij „Pobierz” i poczekaj na zakończenie instalacji.

Po instalacji kliknij „Otwórz”. Zostanie otwarty terminal Windows z komunikatem „Podsystem Windows dla systemu Linux nie ma zainstalowanych dystrybucji”.

Instalowanie dystrybucji w WSL

Po instalacji WSL, możemy zainstalować dystrybucję Linux.

Domyślnie, WSL instaluje wersję Ubuntu LTS. Można ją zainstalować przy pomocy komendy:

$ wsl --install

Rozpocznie się instalacja Ubuntu. Podczas instalacji system poprosi o ustawienie nowej nazwy użytkownika i hasła UNIX.

Po zakończeniu instalacji, pojawi się interfejs Ubuntu Linux. Możesz tutaj używać wszystkich poleceń Linux. Sprawdźmy wersję Ubuntu:

$ lsb_release -a

#wyjście

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 22.04.1 LTS

Release:        22.04

Codename:       jammy

To wszystko! Masz teraz dostęp do jądra Linuksa.

Aby zamknąć dystrybucję, wpisz:

$ exit

#wyjście

[email protected]:/mnt/c/Users/Logan99$ exit

logout

Instalowanie dodatkowych dystrybucji

W podobny sposób można zainstalować inne dystrybucje, jak Fedora, Debian czy OracleLinux_8_5. Aby zobaczyć listę dostępnych dystrybucji, wpisz:

$ wsl --list --online

Aby zainstalować Debiana, użyj polecenia:

$ wsl --install -d Debian
lub
$ wsl.exe --install Debian

Podobnie jak w przypadku Ubuntu, system poprosi o podanie nazwy użytkownika i hasła.

#wyjście

Sprawdźmy wersję Debiana:

$ cat /etc/issue

#wyjście

$ Debian GNU/Linux 11 \n \l

A co z Fedorą? Nie ma jej na liście wyświetlanej przez polecenie wsl –list –online.

Dystrybucje można instalować również ze Sklepu Windows.

Otwórz Sklep Windows, wyszukaj dystrybucje Linuksa. Zobaczysz listę dostępnych dystrybucji (tylko oficjalne, wspierane dystrybucje).

Aby uzyskać dostęp do nieoficjalnych dystrybucji, trzeba je wyszukać ręcznie. Należy jednak pamiętać, że takie dystrybucje mogą zawierać błędy i nie są w pełni bezpieczne, dlatego warto je wykorzystywać tylko do celów eksperymentalnych.

Kliknij „Zainstaluj”, aby zainstalować wybraną dystrybucję w systemie.

Ustawianie domyślnej dystrybucji

Aby wyświetlić listę dostępnych dystrybucji, użyj komendy:

$ wsl --list

Słowo „Default” przy Ubuntu oznacza, że ta dystrybucja Linux uruchomi się, gdy wpiszemy „wsl” w wierszu poleceń.

Aby zmienić domyślną dystrybucję, użyj polecenia:

$ wsl --setdefault <NazwaDystrybucji>

Aby ustawić Debiana jako domyślną dystrybucję, wpisz:

$ wsl --setdefault Debian

Teraz po wpisaniu `wsl` w terminalu, uruchomi się Debian.

Zmiana wersji WSL dla dystrybucji

Domyślnie dystrybucje korzystają z WSL2. Aby zobaczyć listę zainstalowanych dystrybucji i ich wersji WSL, wpisz:

$ wsl --list --verbose

#wyjście

NAME         STATE        VERSION
* Ubuntu       Stopped      2
  Debian      Stopped      2

Gwiazdka * oznacza domyślną instalację Linux.

Aby zmienić wersję WSL z 2 na 1, wpisz:

$ wsl --set-version Ubuntu 1

A aby powrócić do wersji 2 z 1, wpisz:

$ wsl --set-vesion Ubuntu 2

Konwersja może potrwać kilka minut. Nie zamykaj okna podczas konwersji.

Uruchamianie określonych dystrybucji z różnymi nazwami użytkowników

Aby uruchomić konkretną dystrybucję, użyj polecenia:

$ wsl -d <NazwaDystrybucji>
lub
$ wsl --distribution <NazwaDystrybucji>

Aby uruchomić Ubuntu, wpisz:

$ wsl -d Ubuntu

Aby uruchomić dystrybucję z określoną nazwą użytkownika, dodaj –user i podaj nazwę użytkownika.

$ wsl -d <NazwaDystrybucji> --user <NazwaUżytkownika>

Na przykład, aby uruchomić Debiana z użytkownikiem „root”, użyj polecenia:

$ wsl -d Debian --user root

Uwaga: uruchomienie dystrybucji z nieistniejącym użytkownikiem spowoduje błąd „Nie znaleziono użytkownika”.

Aktualizacja Linuksa

Dystrybucję Linuksa można zaktualizować za pomocą poleceń:

$ sudo apt update
$ sudo apt upgrade

Dodatkowo, możesz sprawdzić aktualizacje jądra Linuksa dla WSL:

$ wsl --update

Konfiguracja Visual Studio Code z WSL2

Możesz skonfigurować VS Code do pracy z WSL, uzyskując dostęp do terminala WSL bezpośrednio z VS Code. Ułatwi to tworzenie aplikacji opartych na systemie Linux, z wykorzystaniem narzędzi i łańcuchów narzędzi specyficznych dla Linuksa.

Możesz również korzystać z narzędzi zwiększających wydajność systemu Windows, jednocześnie wykorzystując potencjał VS Code.

Aby to działało, zainstaluj rozszerzenie Remote Development. Możesz je wyszukać w zakładce rozszerzenia w VS Code.

Aby skonfigurować terminal WSL w VS Code, przejdź do menu Widok > Terminal.

Otworzy się terminal. Kliknij strzałkę obok znaku „+”, aby zobaczyć listę terminali WSL.

Możesz tutaj również wybrać „Profil domyślny”.

VS Code ma możliwość bezpośredniego dostępu do \\wsl$\ oraz wszystkich debugerów uruchomionych lokalnie.

Praca z aplikacjami graficznymi i WSL2

Do pracy z aplikacjami graficznymi konieczna jest instalacja sterowników dla WSL2. Intel, AMD i Nvidia oferują sterowniki, które umożliwiają płynne działanie aplikacji graficznych opartych na Linuksie.

Należy jednak liczyć się z problemami. Aplikacje graficzne mogą nie działać w pełni poprawnie, a wiele z nich może w ogóle nie działać. Może to skutkować koniecznością szukania alternatyw i stratą czasu.

Podsumowując, praca z aplikacjami graficznymi w WSL2 to metoda prób i błędów.

Możesz zapoznać się z przewodnikiem WSL2 dotyczącym pracy z aplikacjami graficznymi przy użyciu Ubuntu.

Docker Desktop WSL2 w systemie Windows

Jeżeli nie chcesz konfigurować środowiska lokalnie za pomocą Hyper-V, możesz użyć Docker Desktop, który oficjalnie wspiera WSL2. Umożliwi to szybszą konfigurację i używanie narzędzi Docker w systemie Windows. Więcej informacji znajdziesz tutaj.

Dlaczego Microsoft poważnie traktuje Linuksa?

Microsoft to firma, która tworzy rozwiązania, takie jak Windows, w zamkniętym środowisku, dążąc do tego, aby użytkownicy pozostali przy systemie Windows.

Jednak w 2016 roku firma ogłosiła swoje zaangażowanie w Open Source. To podejście jest diametralnie różne od tego z 2001 roku, kiedy Steve Ballmer nazwał Linuksa „rakiem”.

W 2023 roku sytuacja się zmieniła. Microsoft wprowadza Linuksa bezpośrednio do swojego ekosystemu. Firma ogłosiła WSL2 w maju 2019, a w październiku 2021 wprowadziła WSL2 do Sklepu Windows. W listopadzie 2022 ukazała się wersja WSL2 v1.0.

Microsoft udostępnił także użytkownikom Linuksa swoje programy, takie jak Edge i Teams. Firma aktywnie wspiera rozwój jądra Linuksa i jest członkiem Linux Foundation.

Wszystko to wskazuje na to, że Microsoft traktuje Linuksa poważnie. Nie wszyscy jednak wierzą w szczerość intencji Microsoftu.

Podsumowując, Microsoft jest zainteresowany Linuksem. Ich podsystem Windows jest dowodem na to, że zależy im na Linuksie i Open Source. Najważniejsze jest to, że Microsoft chce zapewnić swoim użytkownikom bezproblemowy dostęp do jądra Linuksa, bez konieczności stosowania wirtualizacji czy dual boot.

Podsumowanie

W erze, gdzie dyskutuje się o tym, który system operacyjny jest najlepszy dla programistów, WSL2 daje możliwość dostępu do obu. WSL2 zapewnia dostęp do jądra Linux za pomocą różnych dystrybucji, jest szybki i współpracuje z Dockerem.

WSL2 jest ciągle rozwijany, a Microsoft dokłada wszelkich starań, aby jądro Linuksa było dostępne dla użytkowników systemu Windows. Przyszłość WSL2 rysuje się bardzo obiecująco.

Zbadaj dostępne dystrybucje Linuksa, aby poznać je jako administrator systemu i programista.


newsblog.pl