Jak poprawnie skonfigurować WSL2 do pracy z systemem Linux w systemie Windows

Ostatnia aktualizacja: 20.09.2023

  • WSL2 integruje prawdziwe dystrybucje Linuksa z systemem Windows, zapewniając pełne wsparcie jądra i wywołań systemowych.
  • Instalację można uprościć za pomocą polecenia wsl --install, które włącza komponenty, instaluje jądro i domyślnie konfiguruje system Ubuntu.
  • Połączenie WSL2, terminala Windows i VS Code pozwala na stworzenie środowiska programistycznego niemal identycznego z produkcyjnym.
  • WSL2 znacznie usprawnia korzystanie z Dockera, baz danych i narzędzi Linuxa, zachowując jednocześnie wygodę korzystania z pulpitu Windows.
WSL2 do pracy z Linuksem w systemie Windows

Jeśli programujesz w systemie Windows, ale wdrażasz na serwerach Linux, prawdopodobnie nie raz zmagałeś się z różnicami w środowisku, bibliotekami, które zawodzą tylko w środowisku produkcyjnym, lub Dockerem działającym nieregularnie. WSL został stworzony właśnie po to, by uniknąć tego koszmaru, a dzięki… WSL2 Microsoft w końcu trafił w sedno: niemal natywny Linux, zintegrowany z systemem Windows i bez konieczności konfigurowania ciężkiej maszyny wirtualnej.

To już preferowana opcja dla tysięcy programistów, ponieważ pozwala otworzyć terminal Ubuntu, Debian lub Kali w systemie Windows 10 lub 11, uruchamiać polecenia, Dockera, bazy danych lub narzędzia wiersza poleceń tak, jakbyś był na serwerze Linux, ale bez rezygnowania z aplikacji i gier Windows. Zobaczmy, jak to działa, jak zainstalować, czym różni się od WSL1 i jak najlepiej wykorzystać je w codziennej pracy.

Czym jest WSL i dlaczego zmienia życie programistów Windows?

 

WSL to akronim od Podsystem Windows dla systemu LinuxPodsystem umożliwiający uruchamianie dystrybucji GNU/Linux w systemie Windows bez konieczności korzystania z tradycyjnej maszyny wirtualnej lub podwójnego rozruchu. Możesz zainstalować Ubuntu, Debian, Kali, openSUSE, Arch (za pomocą appx) lub inne dystrybucje i korzystać z ich narzędzi konsolowych bezpośrednio z pulpitu systemu Windows.

W przeciwieństwie do WSL1, WSL2 Używa prawdziwego jądra Linuxa Działa na lekkiej maszynie wirtualnej zarządzanej przez system Windows (Hyper-V i platforma maszyn wirtualnych), z pełnym wsparciem dla wywołań systemowych ELF64. WSL1 był warstwą translacji systemowej, szybką w przypadku niektórych zadań, ale z poważnymi ograniczeniami w zakresie kompatybilności, szczególnie z narzędziami takimi jak Docker.

Dla programistów stron internetowych, programistów back-end, specjalistów DevOps lub specjalistów ds. danych oznacza to, że możesz praca w środowisku niemal identycznym jak środowisko produkcyjne (którym w większości przypadków jest Linux), korzystając z tych samych bibliotek, menedżerów baz danych, kolejek, serwerów komunikatów itp., bez porzucania systemu Windows. Klasyczne „działa na moim komputerze” odchodzi w zapomnienie, ponieważ programujesz w systemie Windows, a wdrażasz na zupełnie innej dystrybucji Linuksa.

WSL2 nie jest pełnoprawnym graficznym pulpitem Linux Podobnie jak w przypadku maszyn wirtualnych GNOME lub KDE, głównym interfejsem jest terminal. Obecnie jednak można również uruchamiać aplikacje graficzne Linuxa na WSL2, a nawet korzystać z akceleracji GPU w przypadku zadań takich jak uczenie maszynowe czy zaawansowana grafika. Jeśli potrzebujesz zdalnego dostępu do aplikacji, możesz skonfigurować… Pulpit zdalny Chrome w systemie Windows.

WSL2

Windows kontra Linux: klasyczny problem środowiska programistycznego

Windows pozostaje najczęściej instalowanym systemem operacyjnym na komputerach stacjonarnychChociaż większość wdrożeń aplikacji produkcyjnych odbywa się na Linuksie, ta dwoistość zawsze stwarzała konflikty dla programistów, którzy pracują w systemie Windows, ale utrzymują lub wdrażają aplikacje na serwerach Linux.

Użytkownicy systemu macOS tradycyjnie doświadczali mniejszych tarć Ponieważ macOS opiera się na fundamencie uniksowym, a wiele narzędzi zachowuje się podobnie do Linuksa. To był jeden z powodów, dla których wielu programistów lata temu przeniosło się na Maca: szukali porządnego terminala i środowisk bliższych środowisku produkcyjnemu.

Wielki przełom nastąpił wraz z DockerKontenery stały się niezbędne do rozwoju i wdrażania, ale w systemie Windows wydajność i komfort użytkowania były dość niskie, a warstwy kompatybilności były nieefektywne. WSL2 rozwiązuje wiele z tych problemów, oferując środowisko, w którym Docker działa znacznie lepiej.

Ekskluzywna zawartość — kliknij tutaj  WinSCP wyjaśniony dla początkujących: szybkie i bezpieczne transfery SFTP

WSL1 vs WSL2: różnice i dlaczego warto używać wersji 2

WSL istnieje w dwóch głównych wersjach: WSL1 i WSL2Mimo że oba systemy umożliwiają uruchomienie Linuksa w systemie Windows, architektura tych systemów znacznie się różni, co przekłada się na wydajność i kompatybilność.

  • WSL1 tłumaczy wywołania systemowe Linuksa do jądra systemu Windows. Zapewnia to bardzo szybki rozruch i dobrą integrację plików, ale ma ograniczoną kompatybilność z niektórymi aplikacjami, zwłaszcza tymi, które wymagają prawdziwego jądra Linuksa, takimi jak niektóre silniki baz danych lub Docker działający z pełną wydajnością.
  • WSL2 wykorzystuje lekką maszynę wirtualną z pełnym jądrem Linux.Zarządzany przez system Windows. Oferuje pełną zgodność z wywołaniami systemowymi, lepszą wydajność systemu plików (szczególnie w samym systemie plików Linux) oraz umożliwia korzystanie z zaawansowanych funkcji, takich jak natywny Docker w WSL2 i bezpośredni dostęp do jądra.
  • Obie wersje mają pewne wspólne cechyJego zalety obejmują integrację z systemem Windows, szybki czas rozruchu, kompatybilność z narzędziami do wirtualizacji, takimi jak VMWare lub VirtualBox (w najnowszych wersjach), oraz obsługę wielu dystrybucji. Jednak tylko WSL2 oferuje pełne jądro Linuksa i pełną obsługę wywołań systemowych.

Wszystkie powyższe, Zalecaną opcją na dziś jest użycie WSL2Chyba że masz bardzo konkretny powód, aby pozostać przy WSL1. Na przykład Docker Desktop został zaprojektowany do integracji z WSL2, a wiele nowoczesnych przewodników i narzędzi już przyjmuje tę wersję za standard.

WSL2

Wymagania dotyczące instalacji WSL2 w systemach Windows 10 i Windows 11

Aby korzystać z WSL2, potrzebujesz stosunkowo nowej wersji systemu Windows. Zasadniczo musisz spełnić następujące warunki:

  • Windows 10 w wersji 2004 lub nowszej (kompilacja 19041+) aby użyć uproszczonego polecenia wsl --install.
  • W szczególności dla WSL2, Windows 10 w wersji 1903, kompilacja 18362 lub nowszalub Windows 11.
  • Arquitectura de 64 bitsWSL2 nie jest dostępny w 32-bitowym systemie Windows 10.

Oprócz, Musisz upewnić się, że wirtualizacja jest włączona w BIOS-ie Twojego zespołu. Jeśli tak nie jest, mogą wystąpić błędy takie jak: 0x80370102Te komunikaty zazwyczaj wskazują, że wirtualizacja sprzętowa nie jest aktywna. Wejdź do BIOS-u/UEFI, poszukaj opcji związanych z procesorem lub „Technologią wirtualizacji” i włącz ją.

Zainstaluj WSL2 od podstaw za pomocą polecenia wsl –install

W nowszych wersjach systemów Windows 10 i Windows 11 instalacja została znacznie uproszczona: wymaga tylko jednego polecenia i ponownego uruchomienia komputera.

1. Otwórz program PowerShell jako administratorWyszukaj „PowerShell” w menu Start, kliknij prawym przyciskiem myszy i wybierz „Uruchom jako administrator”. Jeśli pojawi się monit Kontroli konta użytkownika (UAC), zaakceptuj go.

2. Uruchom polecenie pełnej instalacji:

Rozkaz: wsl --install

To polecenie obsługuje kilka wewnętrznych kroków bez konieczności dotykania czegokolwiek innego:

  • Aktywuj niezbędne komponenty opcjonalne: Podsystem Windows dla systemu Linux y Platforma maszyn wirtualnych.
  • Pobierz i zainstaluj najnowsze jądro Linuxa dla WSL.
  • Konfiguruj WSL2 jako wersja domyślna.
  • Pobierz i zainstaluj domyślną dystrybucję Linuksa (zwykle Ubuntu).

3. Uruchom ponownie komputer, gdy system Windows wyświetli odpowiedni monit.Jest to niezbędne, aby nowo włączone funkcje mogły zacząć działać.

4. Podczas pierwszego uruchomienia dystrybucji Linuksa (Ubuntu, chyba że zaznaczysz inaczej) otworzy się okno konsoli, w którym zostaną wypakowane pliki. Pierwszy raz trwa trochę dłużej; kolejne uruchomienia są zazwyczaj niemal natychmiastowe.

Wybór i zmiana dystrybucji Linuksa w WSL

  • Domyślnie polecenie wsl --install zwykle instaluje Ubuntu jako domyślną dystrybucję. Możesz jednak wybrać inną dystrybucję zarówno podczas, jak i po instalacji.
  • Aby zobaczyć listę dostępnych dystrybucji onlineOtwórz program PowerShell i wpisz:
  • Lista: wsl.exe --list --online
  • Aby zainstalować konkretną dystrybucję z konsoli, użyj opcji -d podając swoje imię:
  • Zainstaluj dystrybucję: wsl.exe --install -d NombreDeLaDistro
  • Jeśli chcesz zmienić domyślną dystrybucję (ten, który otwiera się po prostu po uruchomieniu wsl), możesz zrobić:
  • Domyślny: wsl.exe --set-default NombreDeLaDistro
  • A jeśli chcesz po prostu uruchomić konkretną dystrybucję jednorazowo Nie zmieniając ustawień domyślnych, użyj:
  • Start na czas: wsl.exe --distribution NombreDeLaDistro

Oprócz dystrybucji w sklepie Microsoft Store, Można importować niestandardowe dystrybucje z pliku TAR lub instalować pakiety .appx w niektórych przypadkachtakich jak Arch Linux. Możesz nawet tworzyć własne obrazy WSL, aby ujednolicić środowiska w firmie.

Ekskluzywna zawartość — kliknij tutaj  Czym jest plik pagefile.sys i czy należy go wyłączyć w systemie Windows 11?

wsl2

Skonfiguruj nazwę użytkownika i hasło systemu Linux w WSL

Pierwszy raz otwierasz dystrybucję Linuksa zainstalowaną za pomocą WSLZostaniesz poproszony o utworzenie nazwy użytkownika i hasła UNIX. To konto będzie domyślnym użytkownikiem dla tej dystrybucji.

Pamiętaj o kilku ważnych szczegółach dotyczących tego użytkownika:

  • Nie jest on powiązany z kontem użytkownika Windows.; możesz (i jest to zalecane) zmienić nazwę.
  • Po wpisaniu hasła na ekranie nie wyświetli się nic. (Bez gwiazdek). To się nazywa „ślepe” wprowadzanie danych, co jest całkowicie normalne w Linuksie.
  • Ten użytkownik jest uważany za administratora w tej dystrybucji i może używać sudo wykonywanie poleceń z podwyższonymi uprawnieniami.
  • Każda dystrybucja ma swój własny zestaw użytkowników i hasła; jeśli dodasz nową dystrybucję, będziesz musiał powtórzyć proces tworzenia konta.

Jeśli lubisz zmień hasło Następnie otwórz dystrybucję i uruchom: Zmień hasło: passwd

Jeśli zapomniałeś hasła użytkownika do dystrybucji Jeśli jednak nadal masz uprawnienia administratora w systemie Windows, możesz odzyskać kontrolę w następujący sposób:

  1. Otwórz wiersz poleceń lub program PowerShell jako administrator i zaloguj się jako root na domyślnej dystrybucji:
    wsl -u root
    Dla konkretnej dystrybucji:
    wsl -d NombreDistro -u root
  2. Wewnątrz tego terminala głównego, biegać:
    passwd nombre_usuario i ustaw nowe hasło.
  3. Wyloguj się z WSL z exit i zaloguj się ponownie normalnie, używając odzyskanego konta użytkownika.

Sposoby uruchamiania i używania dystrybucji Linuksa w systemie Windows

Gdy masz już zainstalowanych kilka dystrybucjiMożesz je otworzyć na różne sposoby, w zależności od tego, co w danej chwili jest dla Ciebie najwygodniejsze.

  • Terminal Windows (zalecany). Terminal Windows to nowoczesny emulator terminala firmy Microsoft. Za każdym razem, gdy instalujesz nową dystrybucję Linuksa w WSL, w Terminalu Windows pojawia się nowy profil, który możesz dostosować (ikonę, schemat kolorów, polecenie startowe itp.). To najwygodniejszy sposób pracy z wieloma wierszami poleceń jednocześnie.
  • Z menu Start. Możesz wpisać nazwę dystrybucji („Ubuntu”, „Debian”, „Kali Linux”…). Kliknięcie spowoduje otwarcie jej bezpośrednio w osobnym oknie konsoli.
  • Z poziomu programu PowerShell lub CMD. Możesz bezpośrednio wpisać nazwę dystrybucji (na przykład, ubuntu) lub użyj polecenia ogólnego:
    wsl aby wejść do domyślnej dystrybucji lub
    wsl -d NombreDistro aby wprowadzić konkretny.
  • Wykonaj określone polecenie systemu Linux w systemie Windows. Użyj składni:
    wsl
    Na przykład: wsl ls -la, wsl pwd, wsl dateitd. W ten sposób mieszasz polecenia systemu Windows i Linux w tym samym procesie.

windows terminal

Terminal Windows: idealny towarzysz dla WSL2

Aby w pełni wykorzystać możliwości WSL2, warto zainstalować Windows Terminal ze sklepu Microsoft Store. Jest o wiele wygodniejszy i bardziej wydajny niż klasyczny wiersz poleceń, a nawet domyślne okno programu PowerShell.

Terminal Windows pozwala utwórz profile dla każdej dystrybucjiZdefiniuj, który terminal będzie otwierany domyślnie (PowerShell, CMD, Ubuntu itd.), użyj kart, podzielonych paneli, różnych motywów kolorów, niestandardowych czcionek, obrazów tła i zaawansowanych skrótów klawiaturowych.

Ekskluzywna zawartość — kliknij tutaj  Czym jest „Tryb wydajnościowy” w systemie Windows 11 i jak go używać, aby oszczędzać baterię bez obniżania mocy?

Dla wielu programistów w systemie WindowsWindows Terminal + WSL2 to połączenie najbardziej zbliżone do sposobu pracy natywnego systemu Linux lub macOS z zaawansowanym terminalem, bez konieczności opuszczania zwykłego środowiska Windows.

Konfigurowanie środowiska programistycznego: VS Code, Visual Studio, Git i bazy danych

Gdy WSL2 będzie już uruchomiony, następnym logicznym krokiem będzie zintegruj swój ulubiony edytor lub środowisko IDE z tym środowiskiem. Firma Microsoft włożyła wiele wysiłku w to, aby Visual Studio Code i Visual Studio idealnie współpracowały z WSL.

Kod VS

Najlepiej byłoby zainstalować Pakiet do zdalnego rozwojuTo rozszerzenie pozwala otworzyć folder w WSL tak, jakby był projektem lokalnym, ale z uruchomionym serwerem VS Code w dystrybucji. Wystarczy wpisać:

code .

Z poziomu terminala WSL, w folderze Twojego projektu, VS Code otworzy „zdalną” ścieżkę z całym swoim ekosystemem: rozszerzeniami, debugowaniem, zintegrowanym terminalem itd., ale działającą w środowisku Linux.

Visual Studio

Umożliwia skonfigurowanie WSL jako docelowego dla projektów C++ za pomocą CMake. Można kompilować i debugować w systemie Windows, WSL lub na komputerach zdalnych, zmieniając docelowy plik z poziomu samego środowiska IDE.

Jeśli chodzi o kontrolę wersji, korzystanie z Git w WSL jest tak proste, jak zainstalowanie go za pomocą menedżera pakietów dystrybucji (na przykład sudo apt install git (w systemie Ubuntu) i skonfiguruj poświadczenia, pliki wykluczeń, zakończenia wierszy itp. Możesz również użyć Menedżera poświadczeń systemu Windows w celu zintegrowania uwierzytelniania.

Konfigurowanie baz danych w WSL (MySQL, PostgreSQL, MongoDB, Redis, SQL Server, SQLite itp.) działa bardzo podobnie do działania na dowolnym serwerze Linux. Możesz uruchomić usługi w dystrybucji lub użyć kontenerów Docker w WSL2, a następnie połączyć swoje aplikacje z poziomu systemu Windows lub z samego WSL, w zależności od potrzeb.

Zarządzanie dyskami zewnętrznymi, interfejsem graficznym i kopiami zapasowymi dystrybucji

WSL2 pozwala również montuj dyski zewnętrzne lub dyski USB bezpośrednio w środowisku Linux. Istnieje specjalna dokumentacja dotycząca montowania dysków za pomocą polecenia wsl --mountDaje to dużą elastyczność podczas pracy z danymi przechowywanymi w innych jednostkach.

Jeśli lubisz uruchamiać graficzne aplikacje Linux (GUI) w WSL2 jest teraz możliwe dzięki wsparciu Microsoftu dla aplikacji GUI. Pozwala to na otwieranie edytorów graficznych, narzędzi projektowych i lekkich środowisk graficznych bez konieczności uruchamiania tradycyjnej maszyny wirtualnej.

Do zrobienia kopie zapasowe lub przenoszenie całej dystrybucji na inny komputerWSL zawiera dwa bardzo przydatne polecenia:

  • Eksportuj dystrybucję:
    wsl --export NombreDistro backup-wsl.tar
    Generuje plik TAR zawierający cały system plików.
  • Importuj dystrybucję:
    wsl --import NombreDistro C:\ruta\destino backup-wsl.tar --version 2
    Spowoduje to przywrócenie dystrybucji z całą jej zawartością do innej ścieżki i, jeśli chcesz, zapewni, że będzie ona używać WSL2.

Ten mechanizm eksportu/importu jest bardzo wygodny w przypadku klonowania środowisk programistycznych, udostępniania ich współpracownikom lub po prostu tworzenia kopii zapasowej przed wprowadzeniem większych zmian.

WSL2 ugruntowało swoją pozycję jako podstawowe środowisko programistyczne Dla wielu użytkowników systemu Windows, którzy nie chcą rezygnować z gier, korzystania z konkretnego oprogramowania ani swojego sposobu pracy w tym systemie, ale potrzebują prawdziwego środowiska Linux do programowania, wypróbowanie WSL2 może okazać się przełomem w sposobie pracy.

Jak używać PhotoPrism jako prywatnej galerii opartej na sztucznej inteligencji na komputerze lokalnym
Powiązany artykuł:
Jak używać PhotoPrism jako prywatnej galerii opartej na sztucznej inteligencji na komputerze lokalnym