Tło programistyczne z tekstem html

WSL – Windows Subsystem for Linux (wprowadzenie)

6 min. czytania

Windows Subsystem for Linux (WSL) to potężne narzędzie wbudowane w system Windows, które pozwala uruchamiać natywne aplikacje i narzędzia Linuksa bezpośrednio obok programów Windows, bez potrzeby dual-bootowania czy maszyn wirtualnych. Dzięki WSL początkujący programiści mogą komfortowo pracować z Bash, Git czy Pythonem w znanym środowisku Windows.

Co to jest WSL i dlaczego warto go znać?

WSL, czyli Podsystem Windows dla systemu Linux, działa jako warstwa kompatybilności, umożliwiająca uruchamianie linuksowych powłok i narzędzi w systemie Windows. To idealne rozwiązanie dla deweloperów, którzy chcą korzystać z ekosystemu open source – np. menedżerów pakietów jak APT w Ubuntu – bez opuszczania Windows.

Istnieją dwie główne wersje: WSL1 i WSL2. WSL1 to lekka warstwa tłumacząca wywołania systemowe Linuksa na Windows, co zapewnia dobrą współpracę z plikami Windows, ale ograniczone wsparcie dla funkcji jądra Linuksa. Z kolei WSL2 korzysta z lekkiej maszyny wirtualnej z prawdziwym kernelem Linuksa, oferując pełną kompatybilność, wyższą wydajność i lepsze wsparcie dla kontenerów Docker. Microsoft oficjalnie zaleca WSL2 dla nowych instalacji ze względu na lepszą wydajność i izolację.

Dla początkujących WSL oznacza prosty start: instalujesz dystrybucję Linuksa (np. Ubuntu), a następnie pobierasz narzędzia jednym poleceniem. Na przykład w Ubuntu aktualizujesz pakiety za pomocą sudo apt update && sudo apt upgrade.

Wymagania systemowe i kompatybilność

Aby uruchomić WSL, potrzebujesz Windows 10 w wersji 1709 (build 16299) lub nowszej, albo Windows 11. Sprawdź wersję systemu: naciśnij Start > Ustawienia > System > Informacje, a w sekcji „Specyfikacje urządzenia” znajdziesz numer kompilacji.

WSL2 wymaga włączonej wirtualizacji w BIOS/UEFI (Intel VT-x lub AMD-V) oraz funkcji Platforma maszyny wirtualnej w Windows. Na nowszych komputerach jest to zazwyczaj włączone domyślnie.

Krok po kroku – instalacja WSL

Instalacja jest prosta i zajmuje kilka minut. Na Windows 11 i najnowszym Windows 10 możesz użyć szybkiego polecenia: uruchom PowerShell jako Administrator i wpisz wsl --install. Poniżej znajdziesz pełną instrukcję:

1. Włącz funkcję podsystem Windows dla systemu Linux

Wykonaj te kroki:

  • otwórz wyszukiwarkę w menu Start i wpisz Włącz lub wyłącz funkcje systemu Windows,
  • w oknie funkcji znajdź Podsystem Windows dla systemu Linux, zaznacz pole i kliknij OK,
  • poczekaj na instalację składników, a następnie uruchom ponownie komputer, klikając Uruchom ponownie teraz.

Dla WSL2 dodatkowo włącz Platformę maszyny wirtualnej w tym samym oknie i zaktualizuj kernel poleceniem: wsl --update.

2. Zainstaluj dystrybucję Linuksa

Postępuj tak:

  • uruchom Microsoft Store i wyszukaj „Linux” lub konkretną dystrybucję, np. Ubuntu,
  • kliknij Pobierz (Get), poczekaj na instalację, a następnie Uruchom (Launch),
  • przy pierwszym starcie utworzysz konto użytkownika Linuksa: wpisz nazwę i hasło (znaki hasła nie są wyświetlane),
  • możesz instalować równolegle kilka dystrybucji (np. Ubuntu, Debian, Fedora) i przełączać się między nimi.

Aby ustawić dystrybucję domyślną, użyj w PowerShell: wsl --set-default Ubuntu.

3. Aktualizacja i pierwsze kroki

Po instalacji zaktualizuj system i podstawowe pakiety:

sudo apt update
sudo apt upgrade

Gdy instalator poprosi o potwierdzenie, wpisz Y. Teraz masz pełny terminal Bash – przetestuj podstawowe polecenia, takie jak ls, cd czy pwd.

Podstawy pracy z WSL – komendy i menedżery pakietów

WSL otworzysz z menu Start – wpisz nazwę dystrybucji, np. „Ubuntu”. Integracja z Windows jest głęboka: pliki z dysku C: są dostępne w /mnt/c/, a kopiowanie/wklejanie działa między systemami.

Menedżery pakietów różnią się w dystrybucjach. Najczęstsze to:

  • Debian/Ubuntu (APT) – instalacja: sudo apt install <pakiet>, np. sudo apt install git python3;
  • Red Hat/CentOS (YUM/DNF) – instalacja: sudo yum install <pakiet> lub sudo dnf install <pakiet>;
  • Alpine (APK) – instalacja: sudo apk add <pakiet>.

Dla programistów: zainstaluj Node.js (sudo apt install nodejs), Pythona lub użyj VS Code z rozszerzeniem Remote – WSL do pracy bezpośrednio w środowisku Linuksa.

Porównanie WSL1 vs WSL2

Kluczowe różnice znajdziesz w poniższej tabeli:

Aspekt WSL1 WSL2
Architektura warstwa kompatybilności (tłumaczenie wywołań) lekka VM z natywnym kernelem Linuksa
Wydajność I/O wolniejsza na plikach Windows znacznie szybsza w natywnym systemie plików
Kompatybilność dobra współpraca z plikami Windows, brak pełnego kernela pełna zgodność z Linuksem (Docker, systemd)
Zużycie zasobów niskie wyższe, ale nadal lekkie
Sprawdzenie wersji wsl -l -v wsl -l -v

Aby przekonwertować dystrybucję: wsl --set-version <Distro> 2.

Zalety WSL dla początkujących programistów

Najważniejsze korzyści na start to:

  • prostota – bez VM czy Hyper-V: Linux działa jak aplikacja w Windows;
  • integracja – edytuj pliki w Windows Explorer i pracuj w VS Code z rozszerzeniem Remote – WSL;
  • wieloplatformowość – testuj skrypty Bash, kompiluj C++ z GCC obok .NET;
  • bezpieczeństwo – odizolowane środowisko, łatwe resetowanie dystrybucji (wsl --unregister <Distro>);
  • Docker – WSL2 działa jako backend dla Docker Desktop i ułatwia uruchamianie kontenerów.

WSL realnie przyspiesza rozwój oprogramowania, pozwalając łączyć narzędzia Windows i Linuksa w jednym, spójnym workflow.

Wady i ograniczenia

Pamiętaj o kilku ograniczeniach:

  • brak natywnego GUI w WSL1 (w WSL2 na Windows 11 aplikacje GUI działają dzięki WSLg; na Windows 10 można użyć X11),
  • wydajność I/O na plikach Windows w WSL2 jest lepsza, ale wciąż gorsza niż w Linuksie – trzymaj projekty w systemie plików Linuksa, np. w ~/projekty,
  • nie wszystkie narzędzia wymagające specyficznych sterowników kernela będą działać,
  • w starszych wersjach Windows może brakować najnowszych aktualizacji kernela.

Zaawansowane wskazówki i dobre praktycje

Jeśli chcesz pójść krok dalej, przydadzą się te komendy i praktyki:

  • listowanie dystrybucjiwsl -l -v;
  • uruchomienie z katalogiem domowymwsl -d Ubuntu --cd ~;
  • integracja z IDE – zainstaluj VS Code i rozszerzenie „Remote – WSL”, aby edytować pliki bezpośrednio w środowisku Linuksa;
  • udostępnianie GPU – WSL2 wspiera akcelerację GPU (NVIDIA/AMD) dla zadań ML po zainstalowaniu odpowiednich sterowników w Windows;
  • aktualizacje – regularnie uruchamiaj wsl --update, aby mieć najnowszy kernel i komponenty.

Na start trzymaj kod w systemie plików Linuksa (np. w ~), a do pracy używaj VS Code z Remote – WSL – to minimalizuje kłopoty z I/O i maksymalizuje wygodę.