Глибоке занурення в можливості WSL2

Windows і Linux є двома найпопулярнішими операційними системами (ОС). Windows пропонує зручний підхід, але високі можливості налаштування Linux роблять її найкращим вибором для розробників, продуктивних людей і учнів.

Для спільного доступу до них потрібна віртуалізація в Windows або подвійне завантаження.

Проте є нова функція Windows, яка дозволяє легко отримати доступ до Linux у Windows.

Зустрічайте WSL2 – підсистема Windows для Linux. Це функція Windows, яка дозволяє отримати доступ до Linux у Windows.

У цій статті мова піде про WSL2. Ми детально розглянемо його, його визначення, призначення, процес встановлення та способи ефективного використання.

Давайте розпочнемо.

Що таке підсистема Windows для Linux?

Підсистема Windows для Linux дозволяє отримувати доступ до середовища GNU/Linux безпосередньо з терміналу Window, усуваючи необхідність подвійного завантаження або використання інструментів віртуалізації. З його допомогою ви можете отримати доступ до ядра Linux. Це означає, що ви можете використовувати функції Linux безпосередньо з Windows, включаючи інструменти командного рядка, програми та утиліти.

WSL 2 — це найновіша підсистема Windows, яка пропонує кращі функції та швидкість, ніж WSL1 (запущена з Windows 10). Крім того, більшість інсталяцій Windows попередньо інстальовано з WSL. Щоб ним користуватися, його потрібно ввімкнути.

Під капотом WSL2 використовується технологія віртуальної машини Hyper-V від Windows. Це робить WSL2 Linux сумісним, що забезпечує майже в 20 разів більшу швидкість виконання, ніж WSL1.

Коротше кажучи, WSL2 — це найновіша підсистема Windows для Linux, яка надає таким користувачам Windows прямий доступ до ядра Linux.

Початок роботи з WSL2

Протягом нашого підручника ми також будемо використовувати термінал Windows, зручний, але рекомендований варіант для роботи з терміналами в Windows. Це сучасний, швидкий і ефективний термінал для користувачів, які хочуть працювати з інструментами командного рядка та WSL.

Вимоги до ПК

Не всі ПК можуть запускати WSL2. Ваша система повинна підтримувати віртуалізацію для запуску WSL2. Це тому, що WSL2 використовує Hyper-V під капотом.

Ви також повинні використовувати 64-розрядний процесор із підтримкою SLAT (перетворення адрес другого рівня). Майже всі сучасні процесори підтримують його.

Що стосується дискового простору, вам потрібно не менше 1 ГБ вільного місця.

Увімкнення віртуалізації з BIOS

Якщо ви відповідаєте вимогам до обладнання, ви повинні ввімкнути його з BIOS материнської плати.

Увійдіть у BIOS, натиснувши на клавіатурі такі клавіші, як F2, Del або F10.

У BIOS потрібно знайти й увімкнути AMD Secure Virtual Machines (SVM)/Intel Virtualization Technology VTx. Після цього перезавантажте машину.

Якщо вам потрібні додаткові роз’яснення, ознайомтеся з детальними інструкціями в моїй іншій публікації «Як інсталювати Ubuntu у Windows 10 за допомогою Hyper-V».

Увімкнення функцій Windows для WSL2

Коли вимоги до обладнання виконано, настав час увімкнути WSL2 у Windows.

Перший крок — перевірити версію Windows. Це допоможе нам дізнатися, чи підтримує ваша Windows WSL чи ні.

Для цього натисніть CMD + R на клавіатурі та введіть «winver». Там буде показано вашу версію Windows.

Якщо ви використовуєте Windows 10, ви, ймовірно, використовуєте WSL1. Однак для більшості користувачів Windows 11 це WSL2.

Усі версії Windows 10 і 11 підтримують WSL2, окрім Windows S, оскільки він націлений на безпеку та має відключену віртуалізацію.

Якщо ви використовуєте Windows S, вам потрібно перейти на іншу версію, наприклад Windows Home або Pro.

Для цього перейдіть у Налаштування > Оновлення та безпека > Активація, щоб змінити свою ОС.

Крім того, у вас має бути встановлено останнє оновлення Windows. Це забезпечить повну сумісність і підтримку WSL2. Щоб оновити систему, перейдіть у «Параметри» > «Оновлення Windows».

Щоб використовувати WSL2, потрібно ввімкнути кілька функцій Windows.

Перейдіть до Панелі керування > Програми та засоби. Під ним ви знайдете «Увімкнути або вимкнути функції Windows». Натисніть на нього, і відкриється нове вікно «Функції Windows».

Там знайдіть «Hyper-V», «Платформа віртуальної машини» та «Підсистема Windows для Linux».

Після цього з’явиться запит на перезавантаження, щоб зміни набули чинності.

Ви також можете ввімкнути його, виконавши таку команду.

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

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

Встановлення WSL2

З усіма попередніми умовами покрито, настав час інсталювати WSL.

Відкрийте термінал Windows (Windows 10) або Windows PowerShell (Windows 11), а потім введіть таку команду.

$ wsl

#вихід

Copyright (c) Microsoft Corporation. All rights reserved.

Usage: wsl.exe [Argument]

Arguments:
…..

Це означає, що WSL доступний, але не активований.

Тепер, щоб інсталювати WSL, виконайте наступну команду з правами адміністратора.

$ wsl --install

#вихід

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.

Примітка. Можливо, ви цього не побачите, оскільки ви ввімкнули їх через функції Windows. Натомість ви повинні отримати наступний результат. (Якщо так, перейдіть до наступного розділу).

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:

Щоб перевірити версію WSL, введіть команду wsl –version.

$ wsl --version

#вихід

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

Як ви помітили, WSL версії 1.1.6.0 уже попередньо встановлено. Отже, якщо він не працює та видає помилку, WSL не встановлено.

Щоб змінити на WSL2, виконайте таку команду.

$ wsl --set-default-version 2

Оскільки в нашій системі вже попередньо встановлено WSL, ми отримуємо це повідомлення.

Ви також можете встановити WSL з магазину Windows. Спочатку відкрийте Магазин і знайдіть «Підсистема Windows для Linux».

Натисніть «Отримати». і дочекайтеся його встановлення.

Після встановлення ви можете натиснути «Відкрити», і відкриється термінал Windows із повідомленням «Підсистема Windows для Linux не має встановлених дистрибутивів».

Встановлення дистрибутива на WSL

Після встановлення WSL настав час інсталювати дистрибутиви Linux.

За замовчуванням WSL встановлює версію Ubuntu LTS. Для цього потрібно виконати таку команду.

$ wsl --install

Почнеться встановлення Ubuntu. Під час інсталяції вам буде запропоновано встановити нове ім’я користувача та пароль UNIX.

Після завершення інсталяції ви отримаєте підказку Ubuntu Linux. Тут ви можете використовувати всі команди Linux. Давайте перевіримо версію Ubuntu.

$ lsb_release -a

#вихід

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 22.04.1 LTS

Release:        22.04

Codename:       jammy

Це воно! Тепер у вас є доступ до ядра Linux.

Щоб вийти з розповсюдження, вам потрібно ввести наступну команду.

$ exit

#вихід

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

logout

Встановлення додаткових дистрибутивів

Подібним чином ви можете встановити інші дистрибутиви, такі як Fedora, Debian і OracleLinux_8_5. Щоб переглянути доступні параметри дистрибутива, введіть таку команду.

$ wsl --list --online

Щоб інсталювати Debian, нам потрібно ввести таку команду.

$ wsl --install -d Debian

Or

$ wsl.exe --install Debian

Як і Ubuntu, він також попросить вас встановити ім’я користувача та пароль.

#вихід

Тепер давайте перевіримо версію Debian.

$ cat /etc/issue

#вихід

$ Debian GNU/Linux 11 n l

Але як щодо Fedora? Його немає в списку, коли ви використовуєте команду wsl –list –online.

Ви також можете встановлювати дистрибутиви з магазину Windows.

Відкрийте Магазин Windows і введіть дистрибутиви Linux; він перерахує всі доступні. Тут ви можете побачити лише офіційні підтримувані дистрибутиви.

Щоб отримати неофіційну підтримку дистрибутива, потрібно шукати вручну. Однак ці неофіційні дистрибутиви можуть мати помилки та не бути на 100% безпечними. Тому використовуйте його лише в експериментальних цілях.

Натисніть «Встановити», щоб зробити його доступним у вашій системі.

Налаштування дистрибутива за замовчуванням

Якщо ви хочете переглянути список доступних дистрибутивів, ви можете створити їх за допомогою наступної команди.

$ wsl --list

Ключове слово «Default» навколо Ubuntu означає, що дистрибутив Linux за замовчуванням запускається, коли ви вводите «wsl» у командному рядку.

Щоб змінити дистрибутив за замовчуванням, введіть таку команду.

$ wsl --setdefault <DistroName>

Отже, щоб встановити Debian як наш дистрибутив за замовчуванням, нам потрібно ввести таку команду.

$ wsl --setdefault Debian

Отже, наступного разу, коли ви введете wsl у терміналі, ви запустите Debian.

Зміна версії WSL для дистрибутива

За замовчуванням дистрибутиви використовують WSL2. Щоб переглянути список поточних встановлених дистрибутивів і їх версії WSL, введіть таку команду.

$ wsl --list --verbose

#вихід

NAME      STATE           VERSION

* Ubuntu    Stopped         2

  Debian    Stopped         2

Тут * означає інсталяцію Linux за замовчуванням.

Тепер, щоб змінити версію WSL з 2 на 1, введіть:

$ wsl --set-version Ubuntu 1

І, якщо ви хочете повернутися до 2 з 1, введіть:

$ wsl --set-vesion Ubuntu 2

Примітка. Перетворення може зайняти деякий час. Під час перетворення не закривайте вікно.

Запуск окремих дистрибутивів з різними іменами користувачів

Що робити, якщо ви хочете запустити певний дистрибутив? Для цього вам потрібно ввести наступну команду.

$ wsl -d <DistroName>

Or

$ wsl --distribution <DistroName>

Щоб запустити Ubuntu, введіть:

$ wsl -d Ubuntu

Якщо ви хочете запустити його з певним іменем користувача, вам потрібно додати –user після імені користувача.

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

Наприклад, щоб запустити Debian з іменем користувача «root».

$ wsl -d Debian --user root

Примітка. Якщо запустити дистрибутив із неіснуючим користувачем, з’явиться повідомлення про помилку «Користувача не знайдено».

Оновіть Linux

Ви можете оновити свій дистрибутив Linux, ввівши таку команду:

$ sudo apt update

$ sudo apt upgrade

Крім того, ви також можете шукати оновлення ядра Linux для WSL:

$ wsl --update

Налаштування коду Visual Studio за допомогою WSL2

Ви також можете налаштувати VS Code для роботи з WSL. Таким чином ви можете отримати доступ до терміналу WSL безпосередньо з коду VS. Він може допомогти вам розробляти програми на базі Linux-додатків, одночасно одержуючи доступ до утиліт і інструментів для Linux.

Крім того, ви також можете мати доступ до спеціальних інструментів продуктивності Windows, використовуючи переваги функцій VS Code.

Щоб він працював, вам потрібно встановити пакет розширення Remote Development. Ви також можете шукати його безпосередньо в коді VS, шукаючи його назву на вкладці розширення.

Якщо ви працюєте локально, ви можете налаштувати це, перейшовши до меню VS Code. Звідти виберіть «Перегляд» > «Термінал».

Це відкриє термінал. Ви знайдете символ > поруч із символом «+». Клацніть на ньому, і ви побачите список терміналів WSL.

Тут також можна вибрати «Профіль за замовчуванням».

Це можливо, тому що VS Code може напряму отримати доступ до \wsl$ і будь-яких налагоджувачів, які працюють на локальному хості.

Робота з графічними програмами та WSL2

Для роботи з графічними програмами необхідно встановити правильні драйвери для WSL2. Intel, AMD і Nvidia пропонують драйвер для WSL, щоб графічні програми на основі Linux могли працювати безперебійно.

Однак ви все одно знайдете проблеми з цим підходом. По-перше, ці графічні програми можуть мати деякі непрацюючі функції. Крім того, багато програм можуть не працювати, тому вам доведеться шукати альтернативи.

Коротше кажучи, це насамперед метод проб і помилок, на який ви можете витратити занадто багато часу.

Ви можете перевірити їхній посібник WSL2 щодо роботи з графічними програмами за допомогою Ubuntu.

Docker Desktop WSL2 у Windows

Якщо ви не хочете налаштовувати локально за допомогою Hyper-V, ви можете використовувати Docker Desktop, який офіційно підтримує WSL2. З його допомогою ви можете налаштувати швидший робочий процес для використання інструментів Docker безпосередньо в Windows. Щоб дізнатися більше, перегляньте посібник тут.

Чому Microsoft серйозно ставиться до Linux?

Microsoft є приватною компанією. Він створює такі рішення, як Windows, у закритому середовищі та хоче, щоб користувачі дотримувалися Windows, а не Linux.

Однак у 2016 році вони оголосили про прихильність Open Source. Погляд змінився на початку 2001 року, коли Стів Балмер назвав Linux «раковою пухлиною».

У 2023 році все змінилося. Microsoft використовує Linux безпосередньо у своїй екосистемі. Вони анонсували WSL2 у травні 2019 року та представили WSL2 у Windows Store у жовтні 2021 року. Вони також випустили WSL2 v1.0 у листопаді 2022 року.

Вони також зробили програмне забезпечення Microsoft, таке як Edge і Teams, доступним для користувачів Linux. Вони також беруть активний внесок у ядро ​​Linux і є членом продукту Linux Foundation.

Усі ці натяки на те, що Microsoft серйозно ставиться до Linux. Однак деякі скептики не думають, що Microsoft любить Linux.

Коротше кажучи, Microsoft зацікавлена ​​в Linux. Їх підсистема Window є доказом того, що вони піклуються про Linux і відкритий код. Але, найголовніше, це говорить нам, що вони хочуть, щоб їхні користувачі мали плавний доступ до ядра Linux без необхідності використання віртуалізації або подвійного завантаження операційної системи Linux.

Заключні слова

В епоху «яка ОС найкраща для розробників», розробники можуть вибрати шлях для доступу до обох. WSL2 забезпечує доступ до ядра Linux через різні дистрибутиви Linux. Крім того, він швидкий і працює з Docker.

Зараз WSL2 знаходиться в активній розробці, вирішуючи проблеми сумісності та надаючи більше повноважень розробникам. Таким чином, ми можемо сказати, що майбутнє з WSL2 виглядає світлим, і Microsoft докладає всіх зусиль, щоб зробити ядро ​​Linux доступним для своїх користувачів Windows.

Далі перегляньте дистрибутиви Linux, щоб знати як системний адміністратор і розробник.