Hluboký ponor do schopností WSL2

Windows a Linux jsou dva nejoblíbenější operační systémy (OS). Windows nabízí uživatelsky přívětivý přístup, ale díky vysoké přizpůsobitelnosti Linuxu je to nejlepší volba pro vývojáře, produktivní lidi a studenty.

Pro společný přístup k nim potřebujete virtualizaci v rámci Windows nebo duální bootování.

Existuje však nová funkce systému Windows, která vám umožní snadný přístup k Linuxu ve Windows.

Seznamte se s WSL2 – podsystém Windows pro Linux přichází. Jedná se o funkci Windows, která vám umožňuje přistupovat k Linuxu ve Windows.

Tento článek se zaměří na WSL2. Budeme se jí věnovat velmi podrobně, její definici, účelu, instalačnímu procesu a jak ji efektivně používat.

Začněme.

Co je podsystém Windows pro Linux?

Windows Subsystem for Linux vám umožňuje přistupovat k prostředí GNU/Linux přímo z terminálu Windows, čímž odstraňuje nutnost duálního spouštění nebo používání virtualizačních nástrojů. S ním můžete přistupovat k jádru Linuxu. To znamená, že můžete používat funkce Linuxu přímo z Windows, včetně nástrojů příkazového řádku, aplikací a utilit.

WSL 2 je nejnovější podsystém Windows, který nabízí lepší funkce a rychlost než WSL1 (spuštěn s Windows 10). Většina instalací Windows je také předinstalovaná s WSL. Chcete-li ji používat, musíte ji povolit.

Pod kapotou WSL2 využívá technologii virtuálních strojů Hyper-V společnosti Window. Díky tomu je WSL2 Linux kompatibilní, což má za následek téměř 20x rychlejší spouštění než WSL1.

Stručně řečeno, WSL2 je nejnovější podsystém Windows pro Linux, který uživatelům Windows, jako jste vy, poskytuje přímý přístup k linuxovému jádru.

Začínáme s WSL2

V celém našem tutoriálu budeme také používat Windows Terminal, šikovnou, ale doporučenou možnost pro práci s terminály ve Windows. Je to moderní, rychlý a efektivní terminál pro uživatele, kteří chtějí pracovat s nástroji příkazového řádku a WSL.

Požadavky na PC

Ne všechny počítače mohou používat WSL2. Aby váš systém mohl provozovat WSL2, musí podporovat virtualizaci. To proto, že WSL2 používá pod kapotou Hyper-V.

Musíte také použít 64bitový CPU s podporou SLAT (Second Level Address Translation). Téměř všechny moderní procesory to podporují.

Co se týče místa na disku, potřebujete alespoň 1 GB volného místa.

Povolení virtualizace z BIOSu

Pokud splňujete hardwarové požadavky, musíte jej povolit z BIOSu základní desky.

Vstupte do systému BIOS stisknutím kláves na klávesnici, jako je F2, Del nebo F10.

V systému BIOS musíte najít a povolit Secure Virtual Machines (SVM) společnosti AMD/Virtualizační technologii Intel VTx. Po dokončení restartujte počítač.

Pokud potřebujete další vysvětlení, podívejte se na podrobné pokyny v mém dalším příspěvku Jak nainstalovat Ubuntu na Windows 10 pomocí Hyper-V.

Povolení funkcí systému Windows pro WSL2

Po splnění hardwarových požadavků je nyní čas povolit WSL2 z Windows.

  Jak povolit editor snímků obrazovky v prohlížeči Google Chrome

Prvním krokem je zkontrolovat verzi systému Windows. To nám pomůže zjistit, zda váš Windows podporuje WSL nebo ne.

Chcete-li to provést, stiskněte na klávesnici CMD + R a zadejte „winver“. Ukáže vaši verzi Windows.

Pokud používáte Windows 10, pravděpodobně používáte WSL1. Pro většinu uživatelů Windows 11 je to však WSL2.

Všechny verze Windows 10 a 11 podporují WSL2, kromě Windows S, protože je zaměřen na bezpečnost a má zakázanou virtualizaci.

Pokud používáte Windows S, musíte přejít na jinou verzi, například Windows Home nebo Pro.

Chcete-li to provést, přejděte do Nastavení > Aktualizace a zabezpečení > Aktivace a změňte operační systém.

Také musíte mít nainstalovanou nejnovější aktualizaci systému Windows. Zajistí úplnou kompatibilitu a podporu pro WSL2. Chcete-li aktualizovat systém, přejděte do Nastavení > Windows Update.

Chcete-li používat WSL2, musíte povolit více funkcí systému Windows.

Přejděte na Ovládací panely > Programy a funkce. Pod ním najdete „Zapnout nebo vypnout funkce systému Windows“. Klikněte na něj a otevře se nové okno „Funkce systému Windows“.

Zde vyhledejte „Hyper-V“, „Virtual Machine Platform“ a „Windows Subsystem for Linux“.

Poté požádá o restart, aby se změny projevily.

Můžete jej také povolit spuštěním následujícího příkazu.

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

$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Instalace WSL2

Po pokrytí všech nezbytných předpokladů je nyní čas nainstalovat WSL.

Otevřete Windows Terminal (Windows 10) nebo Windows PowerShell (Windows 11) a zadejte následující příkaz.

$ wsl

#výstup

Copyright (c) Microsoft Corporation. All rights reserved.

Usage: wsl.exe [Argument]

Arguments:
…..

To znamená, že WSL je k dispozici, ale není aktivováno.

Nyní pro instalaci WSL spusťte následující příkaz s oprávněními správce.

$ wsl --install

#výstup

PS C:UsersLogan99> 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.

Poznámka: Toto se nemusí zobrazit, protože jste je povolili prostřednictvím funkcí systému Windows. Místo toho byste měli získat následující výstup. (Pokud ano, přejděte na další sekci).

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:

Chcete-li zkontrolovat verzi WSL, zadejte příkaz wsl –version.

$ wsl --version

#výstup

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

Jak si všimnete, WSL verze 1.1.6.0 je již předinstalovaná. Takže pokud to nefunguje a vypíše chybu, WSL není nainstalováno.

Chcete-li změnit na WSL2, spusťte následující příkaz.

$ wsl --set-default-version 2

Protože náš systém má již předinstalované WSL, dostáváme tuto zprávu.

WSL můžete nainstalovat také z Windows Store. Nejprve otevřete Store a vyhledejte „Windows Subsystem for Linux“.

Klikněte na „Získat“. a počkejte, až se nainstaluje.

Po instalaci můžete kliknout na „Otevřít“, otevře se terminál Windows se zprávou „Podsystém Windows pro Linux nemá nainstalované distribuce“.

  Jak odstranit fotografii ze zařízení, ale ne z Disku Google

Instalace distribuce na WSL

S nainstalovaným WSL je čas nainstalovat distribuce Linuxu.

Ve výchozím nastavení WSL nainstaluje verzi Ubuntu LTS. Chcete-li tak učinit, musíte spustit následující příkaz.

$ wsl --install

Začne se instalovat Ubuntu. Během instalace budete požádáni o nastavení nového uživatelského jména a hesla pro UNIX.

Po dokončení instalace se zobrazí výzva Ubuntu Linux. Zde můžete použít všechny příkazy Linuxu. Podívejme se na verzi Ubuntu.

$ lsb_release -a

#výstup

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 22.04.1 LTS

Release:        22.04

Codename:       jammy

A je to! Nyní máte přístup k linuxovému jádru.

Chcete-li distribuci ukončit, musíte zadat následující příkaz.

$ exit

#výstup

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

logout

Instalace dalších distribucí

Podobně můžete nainstalovat další distribuce, jako je Fedora, Debian a OracleLinux_8_5. Chcete-li zobrazit dostupné možnosti distribuce, zadejte následující příkaz.

$ wsl --list --online

Chcete-li nainstalovat Debian, budeme muset zadat následující příkaz.

$ wsl --install -d Debian

Or

$ wsl.exe --install Debian

Stejně jako Ubuntu vás také požádá o instalaci uživatelského jména a hesla.

#výstup

Nyní se podívejme na verzi Debianu.

$ cat /etc/issue

#výstup

$ Debian GNU/Linux 11 n l

Ale co Fedora? Není uveden, když použijete příkaz wsl –list –online.

No, distribuce můžete nainstalovat také z obchodu Windows.

Otevřete Windows Store a zadejte Linux distros; zobrazí seznam všech dostupných. Zde můžete vidět pouze oficiální podporovaná distribuce.

Pro neoficiální podporu distribuce musíte hledat ručně. Tyto neoficiální distribuce však mohou být buggy a nejsou 100% bezpečné. Používejte jej tedy pouze pro experimentální účely.

Kliknutím na „Instalovat“ jej zpřístupníte ve vašem systému.

Nastavení výchozí distribuce

Pokud chcete zobrazit seznam dostupných distribucí, můžete je vypsat pomocí následujícího příkazu.

$ wsl --list

Klíčové slovo „Default“ kolem Ubuntu znamená, že se po zadání „wsl“ do příkazového řádku spustí výchozí distribuce Linuxu.

Chcete-li změnit výchozí distribuci, zadejte následující příkaz.

$ wsl --setdefault <DistroName>

Abychom Debian nastavili jako výchozí distribuci, musíme zadat následující příkaz.

$ wsl --setdefault Debian

Takže až příště napíšete wsl do terminálu, spustíte Debian.

Přepínání verze WSL pro Distro

Ve výchozím nastavení používají distribuce WSL2. Chcete-li zobrazit seznam aktuálně nainstalovaných distribucí a jejich verzi WSL, zadejte následující příkaz.

$ wsl --list --verbose

#výstup

NAME      STATE           VERSION

* Ubuntu    Stopped         2

  Debian    Stopped         2

Zde znak * odkazuje na výchozí instalaci Linuxu.

Nyní, chcete-li změnit verzi WSL z 2 na 1, zadejte:

$ wsl --set-version Ubuntu 1

A pokud chcete přepnout zpět na 2 z 1, zadejte:

$ wsl --set-vesion Ubuntu 2

Poznámka: Provedení převodu může nějakou dobu trvat. Během převodu okno nezavírejte.

Spouštění konkrétních distribucí s různými uživatelskými jmény

Co když chcete spustit konkrétní distribuci? Chcete-li tak učinit, musíte zadat následující příkaz.

$ wsl -d <DistroName>

Or

$ wsl --distribution <DistroName>

Chcete-li spustit Ubuntu, zadejte:

$ wsl -d Ubuntu

Pokud jej chcete spustit s konkrétním uživatelským jménem, ​​musíte přidat –user následované uživatelským jménem.

$ wsl -d <DistroName> --user <UserName>

Například ke spuštění Debianu s uživatelským jménem „root“.

$ wsl -d Debian --user root

Poznámka: Při spuštění distribuce s neexistujícím uživatelem se zobrazí chyba „Uživatel nenalezen“.

  Jak trvale smazat účet Netflix

Aktualizujte Linux

Distro Linux můžete aktualizovat zadáním následujícího příkazu:

$ sudo apt update

$ sudo apt upgrade

Kromě toho můžete také hledat aktualizace linuxového jádra pro WSL:

$ wsl --update

Nastavení kódu Visual Studio s WSL2

Můžete také nastavit kód VS pro práci s WSL. Tímto způsobem můžete přistupovat k terminálu WSL přímo z kódu VS. Může vám pomoci vyvíjet aplikace na aplikacích založených na Linuxu při přístupu k nástrojům a řetězcům nástrojů specifických pro Linux.

Navíc můžete mít také přístup k nástrojům produktivity specifickým pro Windows a zároveň využívat funkce VS Code.

Aby to fungovalo, musíte nainstalovat balíček rozšíření Remote Development. Můžete jej také vyhledat přímo z kódu VS vyhledáním jeho názvu na kartě rozšíření.

Pokud pracujete lokálně, můžete jej nastavit v nabídce VS Code. Odtud vyberte Zobrazit > Terminál.

Otevře terminál. Symbol > najdete vedle symbolu „+“. Klikněte na něj a najdete seznam WSL terminálů.

Zde můžete také vybrat „Výchozí profil“.

To je možné, protože VS Code může přímo přistupovat k \wsl$ a jakýmkoli debuggerům běžícím na localhost.

Práce s grafickými aplikacemi a WSL2

Chcete-li pracovat s grafickými aplikacemi, musíte nainstalovat správné ovladače pro WSL2. Intel, AMD a Nvidia nabízejí ovladač pro WSL, takže grafické aplikace založené na Linuxu mohou fungovat hladce.

S tímto přístupem však stále narazíte na problémy. Za prvé, tyto grafické aplikace mohou mít některé nefunkční funkce. Mnoho aplikací také nemusí fungovat, takže budete muset hledat alternativy.

Zkrátka jde především o metodu pokus-omyl, kdy možná strávíte příliš mnoho času.

Můžete se podívat na jejich průvodce WSL2 o práci s grafickými aplikacemi pomocí Ubuntu.

Docker Desktop WSL2 na Windows

Pokud nechcete nastavovat lokálně pomocí Hyper-V, můžete použít Docker Desktop, který oficiálně podporuje WSL2. S ním můžete nastavit rychlejší pracovní postup pro používání nástrojů Docker přímo ve Windows. Chcete-li se dozvědět více, podívejte se na průvodce zde.

Proč to Microsoft bere Linux vážně?

Microsoft je proprietární společnost. Vytváří řešení jako Windows v uzavřeném prostředí a chce, aby se uživatelé drželi Windows spíše než Linuxu.

V roce 2016 však oznámili závazek k Open Source. Pohled se změnil na začátku roku 2001, kdy Steve Ballmer nazval Linux „rakovinou“.

V roce 2023 se věci změnily. Microsoft zavádí Linux přímo do svého ekosystému. Oznámili WSL2 v květnu 2019 a představili WSL2 v říjnu 2021 do Windows Store. listopadu 2022 také vydali WSL2 v1.0.

Uživatelé Linuxu také zpřístupnili software společnosti Microsoft, jako je Edge a Teams. Aktivně také přispívají k linuxovému jádru a jsou členem produktu Linux Foundation.

Všechny tyto narážky na to, že Microsoft bere Linux vážně. Někteří skeptici si však nemyslí, že Microsoft Linux miluje.

Microsoft se zkrátka o Linux zajímá. Jejich subsystém Window je důkazem, že jim na Linuxu a open source záleží. Ale co je nejdůležitější, říká nám, že chtějí, aby jejich uživatelé měli bezproblémový přístup k linuxovému jádru, aniž by museli používat virtualizaci nebo provádět dual-boot operačního systému Linux.

Závěrečná slova

V éře „který OS je pro vývojáře nejlepší“ si vývojáři mohou vybrat cestu k přístupu k oběma. WSL2 poskytuje přístup k jádru Linuxu prostřednictvím různých distribucí Linuxu. Navíc je rychlý a spolupracuje s Dockerem.

V současné době je WSL2 v aktivním vývoji, řeší problémy s kompatibilitou a dává více výkonu do rukou vývojářů. Můžeme tedy říci, že budoucnost s WSL2 vypadá jasně a Microsoft podniká všechny kroky, aby zpřístupnil linuxové jádro svým uživatelům Windows.

Dále se podívejte na linuxové distribuce, které znáte jako správce systému a vývojáře.