Podsystem Windows dla systemu Linux (WSL) to funkcja systemu Windows, która umożliwia programistom lub testerom uruchamianie natywnych aplikacji systemu Linux, pisanie skryptów i uruchamianie poleceń bash bezpośrednio z systemu Windows. Począwszy od systemu Windows 10 (2004) WSL 2 jest dostępny, który wykorzystuje w pełni funkcjonalne jądro Linuksa. Umożliwia uruchamianie aplikacji lub kontenerów Docker, ma dużą prędkość ładowania, zużywa mniej zasobów i obsługuje zarządzanie w tle oraz aktualizacje jądra. W ten sposób możesz uruchamiać aplikacje ELF64, które mają dostęp do systemu plików Windows bez korzystania z portów innych firm (takich jak Cygwin).
Obraz jądra systemu Linux (v4.19) w systemie Windows 10 to lekka maszyna wirtualna. Aby go uruchomić, nie musisz instalować pełnej roli Hyper-V. Wywołania systemu Linux są tłumaczone na wywołania systemu Windows w locie bez użycia emulatora (w przeciwieństwie do WSL1).
Domyślnie WSL jest wyłączone. Aby go włączyć, otwórz Start -> Panel sterowania -> Wszystkie elementy Panelu sterowania -> Programy i funkcje -> Włącz lub wyłącz funkcje systemu Windows, zaznacz
Podsystem Windows dla systemu Linux, kliknij OK i uruchom ponownie komputer.Możesz włączyć funkcję WSL w systemie Windows 10/11 za pomocą narzędzia DISM:
dism.exe /online /enable-feature /featurename: VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename: Microsoft-Windows-Subsystem-Linux /all /norestart
lub PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux
Następnie musisz ponownie uruchomić komputer.
Intel VT (technologia wirtualizacji firmy Intel) lub AMD-V obsługa musi być włączona w ustawieniach systemu BIOS/UEFI komputera.
Następnie zaktualizuj WSL do wersji 2. Aby to zrobić, przejdź do https://docs.microsoft.com/windows/wsl/wsl2-kernel, pobierać wsl_update_x64.msi, i zainstaluj go.
Aby ustawić WSL2 jako domyślną architekturę dla nowych dystrybucji Linuksa, uruchom następujące polecenie:
wsl --set-default-version 2
Następnie otwórz Sklep Microsoftu i wpisz „Linuks” w pasku wyszukiwania. Wybierz potrzebną dystrybucję z listy. Dostępne są Ubuntu, Debian, Kali Linux, SUSE Linux Enterprise Server15, openSUSE Leap 15-1, Fedora Remix for WSL i inne. W naszym przykładzie użyjemy Ubuntu 20.04 LTS. Następnie kliknij Dostawać.
Invoke-WebRequest https://aka.ms/wslubuntu2004 -OutFile ubuntu-2004.zip –UseBasicParsing
Wyodrębnij archiwum za pomocą PowerShell:
Expand-Archive -Path .\ubuntu-2004.zip
Uruchom instalację obrazu systemu Linux przy użyciu pliku Ubuntu.exe.
Możesz także pobrać obraz jako plik appx i zainstalować go za pomocą Add-AppxPackage
polecenia cmdlet.
Po instalacji możesz wyświetlić zainstalowaną wersję WSL za pomocą tego polecenia:
wsl --list –-verbose
Jeśli twoje środowisko Linux ma wersję 1, musisz zmienić ją na WSL2:
wsl --set-version Ubuntu-20.04 2
Plik wirtualnego dysku twardego z systemem operacyjnym Linux Ubuntu 20.04 znajduje się w profilu użytkownika: C:\Users\username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState
.
Po zainstalowaniu dystrybucji jej ikona pojawia się w menu Start. Aby uruchomić Ubuntu, otwórz menu Start, kliknij jego ikonę, a powłoka Bash otworzy się. Możesz także uruchomić WSL za pomocą wsl
Komenda. Przy pierwszym uruchomieniu obrazu zostaniesz poproszony o utworzenie użytkownika i hasła. Aby uruchamiać polecenia jako root, użyj dodatkowego klucza (przedrostka): sudo
. WSL ma wspólne polecenia dla Bash i CMD i powinieneś pamiętać, że Linux rozróżnia wielkość liter.
Możesz uruchamiać polecenia Linuksa w CMD. Aby to zrobić, musisz najpierw określić WSL. Na przykład, aby wyświetlić listę plików i folderów w katalogu Windows, uruchom następujące polecenia:
wsl
ls /mnt
ls/mnt/c
wsl ls ‑la /proc/cpuinfo
wsl ls ‑la “/mnt/c/Program Files”
Możesz także otworzyć Eksploratora Windows za pomocą programu explorer.exe, kalkulatora (calc.exe), notatnika (notepad.exe), programu Paint (mspaint.exe), kalendarza (cal) i pogody (curl wttr.in
).
Kolejna przydatna funkcja: możesz otworzyć plik WSL z systemu Windows, używając jego ścieżki systemowej. Aby to zrobić, wprowadź ścieżkę do pliku w CMD:
notepad \\wsl$\Ubuntu-20.04\home\1122.txt
Możesz zaktualizować listę pakietów Ubuntu z konsoli za pomocą następujących poleceń:
sudo apt-get update
sudo apt-get upgrade
Po aktualizacji folder …/LocalState zajmie 1,5 GB.
Z poziomu wiersza polecenia systemu Linux można przeglądać pliki i foldery systemu Windows oraz uzyskiwać do nich dostęp. Aby wygodniej było kopiować pliki, przeglądać katalogi i ich zawartość, zainstaluj Midnight Commander za pomocą następującego polecenia:
sudo apt-get install mc
Możesz uruchomić Midnight Commandera zarówno w Bash, jak iw CMD. Poniższy zrzut ekranu pokazuje, że oba panele MC wyświetlają listę plików z obu systemów operacyjnych.
Możesz wyświetlić ustawienia sieciowe (adres IP) swojego podsystemu WSL:
ip addr | grep eth0
Aplikacje z interfejsem graficznym nie działają w WSL. Możesz jednak spróbować je zainstalować i używać. Aby uruchomić aplikacje graficzne w systemie Linux, pobierz i zainstaluj VcXsrv Windows X Server (https://sourceforge.net/projects/vcxsrv/) w systemie Windows.
Użyj menedżera pakietów apt-get, aby zainstalować aplikacje graficzne. Na przykład przeglądarka, edytor tekstu lub cokolwiek innego:
sudo apt-get install gedit
sudo apt-get install firefox
sudo apt-get install x11-app
Następnie utwórz plik w formacie źródło informator:
cd /~
vim .bash_login
Dodaj następujący wiersz:
export DISPLAY=$(cat /etc/resolv.conf | serwer nazw grep | awk '{print $2}'):0
i zapisz plik:
Esc -> :wr -> :q
Następnie możesz uruchamiać graficzne aplikacje Linux w WSL za pomocą poleceń:
firefox
Lub
gedit
Możesz zainstalować wiele dystrybucji Linuksa w systemie Windows 10/11 i uruchamiać je jednocześnie w różnych przestrzeniach WSL. Możesz wyświetlić listę wszystkich zainstalowanych dystrybucji WSL w systemie Windows za pomocą polecenia:
wsl --list –all
Aby zatrzymać wszystkie działające dystrybucje Linuksa i jądro WSL2, uruchom następujące polecenie:
wsl --shutdown