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
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.