Како правилно конфигурисати WSL2 да ради са Линуксом на Виндоусу

Последње ажурирање: 01.02.2024.

  • WSL2 интегрише праве Linux дистрибуције у Windows, са пуним кернелом и потпуном подршком за системске позиве.
  • Инсталација је поједностављена помоћу wsl --install, која омогућава компоненте, инсталира језгро и конфигурише Убунту по подразумеваним подешавањима.
  • Комбинација WSL2, Windows терминала и VS кода омогућава развојно окружење које је готово идентично производном.
  • WSL2 значајно побољшава коришћење Docker-а, база података и Linux алата, уз очување практичности Windows радне површине.
WSL2 за рад са Linux-ом на Windows-у

Ако програмирате у Windows-у, али га имплементирате на Linux серверима, вероватно сте се више пута борили са разликама у окружењу, библиотекама које отказују само у продукцији или Docker-ом који ради неправилно. WSL је креиран управо да би се избегла та ноћна мора, и са WSL2 Мајкрософт је коначно погодио суштину: готово изворни Линукс, интегрисан у Виндоус и без потребе за подешавањем тешке виртуелне машине.

Ово је већ преферирана опција за хиљаде програмера јер вам омогућава да отворите Ubuntu, Debian или Kali терминал у Windows 10 или 11, покрећете команде, Docker, базе података или алате командне линије као да сте на Linux серверу, али без одустајања од својих Windows апликација и игара. Хајде да видимо како функционише, како га инсталирати, како се разликује од WSL1 и како да извучете максимум из њега у свом свакодневном раду.

Шта је WSL и зашто мења живот Windows програмера?

 

ВСЛ је акроним за Windows Subsystem for LinuxПодсистем који вам омогућава покретање ГНУ/Линукс дистрибуција унутар Виндоуса без потребе за традиционалном виртуелном машином или двоструким покретањем. Можете инсталирати Убунту, Дебијан, Кали, ОпенСУСЕ, Арч (користећи appx) или друге дистрибуције и користити њихове конзолне алате директно са Виндоус радне површине.

За разлику од WSL1, WSL2 Користи право Линукс језгро Ради у лаганој виртуелној машини којом управља Windows (Hyper-V и платформа виртуелних машина), са пуном подршком за системске позиве ELF64. WSL1 је био слој за превођење система, брз за одређене задатке, али са озбиљним ограничењима у компатибилности, посебно са алатима попут Docker-а.

За веб програмере, бекенд програмере, DevOps или стручњаке за податке, ово значи да можете рад у окружењу готово идентичном производном окружењу (што је у већини случајева Линукс), користећи исте библиотеке, менаџере база података, редове чекања, сервере за размену порука итд., без напуштања Виндоуса. Класично „ради на мојој машини“ је ствар прошлости јер развијате на Виндоусу, а имплементирате на потпуно другој Линукс дистрибуцији.

WSL2 није потпуно развијена графичка радна површина за Линукс Слично као код GNOME или KDE виртуелне машине, примарни интерфејс је терминал. Међутим, данас можете покретати и Linux GUI апликације преко WSL2, па чак и искористити предности GPU убрзања за радна оптерећења попут машинског учења или напредне графике. Ако вам је потребан даљински приступ апликацијама, можете конфигурисати Chrome удаљена радна површина на Windows-у.

WSL2

Windows vs Linux: класични проблем развојног окружења

Windows остаје најинсталиранији оперативни систем на десктоп рачунаримаИако се већина имплементација производних апликација врши на Линуксу, ова дуалност је увек стварала сукоб за програмере који раде у Виндоусу, али одржавају или имплементирају апликације на Линук серверима.

Корисници macOS-а су традиционално искусили мање трења Пошто macOS дели основу сличну Јуниксу, и многи алати се понашају слично као Линукс. То је био један од разлога зашто је толико програмера прешло на Мек пре много година: тражили су пристојан терминал и окружења ближа производном.

Велика прекретница дошла је са DockerКонтејнери су постали неопходни за развој и имплементацију, али на Windows-у су перформансе и корисничко искуство били прилично лоши, са неефикасним слојевима компатибилности. WSL2 решава многе од ових проблема, нудећи окружење у којем Docker ради много боље.

Ексклузивни садржај - Кликните овде  Мајкрософт Копилот сада генерише Ворд и ПоверПоинт презентације користећи Пајтон.

WSL1 наспрам WSL2: разлике и зашто би требало да користите верзију 2

WSL постоји у две главне верзије: ВСЛ1 и ВСЛ2Иако оба омогућавају покретање Линукса на Виндоусу, архитектура се много променила од једног до другог, а то је приметно у перформансама и компатибилности.

  • WSL1 преводи системске позиве Линукса у Windows језгро. Ово резултира веома брзим временом покретања и добром интеграцијом датотека, али има ограничену компатибилност са неким апликацијама, посебно онима којима је потребно право Linux језгро, као што су одређени механизми база података или Docker који раде пуним капацитетом.
  • WSL2 користи лагану виртуелну машину са пуним Линукс кернелом.Управља Windows. Нуди потпуну компатибилност са системским позивима, побољшане перформансе фајл система (посебно на самом Linux фајл систему) и омогућава напредне функције као што су нативни Docker на WSL2 и директан приступ језгру.
  • Обе верзије деле неке карактеристикеЊегове предности укључују интеграцију са Windows-ом, брзо време покретања, компатибилност са алатима за виртуелизацију као што су VMWare или VirtualBox (у новијим верзијама) и подршку за више дистрибуција. Међутим, само WSL2 има потпуно Linux језгро и комплетну подршку за системске позиве.

Све наведено, Препоручена опција данас је коришћење WSL2Осим ако немате веома специфичан разлог да останете при WSL1. Docker Desktop, на пример, је дизајниран да се интегрише са WSL2, а многи модерни водичи и алати већ претпостављају ову верзију као стандард.

WSL2

Захтеви за инсталирање WSL2 на Windows 10 и Windows 11

Да бисте користили WSL2, потребна вам је релативно новија верзија оперативног система Windows. Генерално, морате испунити ове услове:

  • Windows 10 верзија 2004 или новија (буилд 19041+) да користите поједностављену команду wsl --install.
  • Конкретно за WSL2, Windows 10 верзија 1903, израда 18362 или новијаили Windows 11.
  • Arquitectura de 64 bitsWSL2 није доступан на 32-битном Windows 10.

Осим тога, Морате се уверити да је виртуелизација омогућена у BIOS-у вашег тима. Ако није, можете наићи на грешке као што су 0x80370102Ове поруке обично указују на то да виртуелизација хардвера није активна. Уђите у BIOS/UEFI, потражите опције везане за процесор или „Технологију виртуелизације“ и омогућите их.

Инсталирајте WSL2 од нуле помоћу команде wsl –install

У модерним верзијама система Windows 10 и Windows 11, инсталација је знатно поједностављена: потребна је само једна команда и поновно покретање система.

1. Отворите PowerShell као администраторПотражите „PowerShell“ у менију „Старт“, кликните десним тастером миша и изаберите „Покрени као администратор“. Прихватите захтев за контролу корисничких налога (UAC) ако се појави.

2. Покрените комплетну команду за инсталацију:

Команда: wsl --install

Ова команда обрађује неколико интерних корака без потребе да додирујете било шта друго:

  • Активирајте потребне опционе компоненте: Subsistema de Windows para Linux y Plataforma de máquina virtual.
  • Descarga e instala el најновије Линукс језгро за ВСЛ.
  • Конфигуриши WSL2 као подразумевана верзија.
  • Преузмите и инсталирајте подразумевану Линук дистрибуцију (обично Ubuntu).

3. Поново покрените рачунар када вас Windows то замоли.Ово је неопходно да би новоомогућене функције постале оперативне.

4. При првом покретању Линукс дистрибуције (Ubuntu, осим ако не наведете другачије), отвориће се конзолни прозор где се датотеке распакују. Први пут траје мало дуже; наредна покретања су обично готово тренутна.

Избор и промена Линук дистрибуције у ВСЛ-у

  • Подразумевано, команда wsl --install обично инсталира Убунту као подразумевану дистрибуцију. Међутим, можете изабрати другу дистрибуцију и током и након инсталације.
  • Да бисте видели листу доступних дистрибуција на мрежиОтворите PowerShell и откуцајте:
  • Листа: wsl.exe --list --online
  • Да бисте инсталирали одређену дистрибуцију из конзоле, користите опцију -d наводећи своје име:
  • Инсталирајте дистрибуцију: wsl.exe --install -d NombreDeLaDistro
  • Ако желите да промените подразумевану дистрибуцију (онај који се отвара када једноставно покренете wsl), можете да урадите:
  • Подразумевано: wsl.exe --set-default NombreDeLaDistro
  • А ако желите само једнократно да покренете одређену дистрибуцију Без промене подразумеваних вредности, користите:
  • Покрени на време: wsl.exe --distribution NombreDeLaDistro

Поред дистрибуција из Microsoft Store-а, Могуће је увести прилагођене дистрибуције из TAR датотеке или инсталирати пакете .appx en algunos casosкао што је Arch Linux. Можете чак и да креирате сопствене прилагођене WSL слике да бисте стандардизовали окружења унутар компаније.

Ексклузивни садржај - Кликните овде  Како генерисати Word документе и PowerPoint презентације помоћу Python-а и Copilot-а у Microsoft 365

wsl2

Конфигуришите своје корисничко име и лозинку за Linux у WSL-у

Први пут када отворите своју Линук дистрибуцију инсталирану са WSL-омБиће вам затражено да креирате корисничко име и лозинку за UNIX. Овај налог ће бити подразумевани корисник за ту дистрибуцију.

Имајте на уму неколико важних детаља о овом кориснику:

  • Није повезано са вашим Windows корисничким налогом.; можете (и препоручује се) да промените име.
  • Када унесете лозинку, ништа се неће приказати на екрану. (Без звездица). Ово је познато као „слепи“ унос, што је сасвим нормално у Линуксу.
  • Овај корисник се сматра администратором на тој дистрибуцији и може да користи sudo да извршава команде са повишеним привилегијама.
  • Свака дистрибуција има свој скуп корисника и лозинке; ако додате нову дистрибуцију, мораћете да поновите процес креирања налога.

Ако желите промени лозинку Затим, отворите дистрибуцију и покрените: Cambiar contraseña: passwd

Ако сте заборавили корисничку лозинку за дистрибуцију Али ако и даље имате администраторски приступ у оперативном систему Windows, можете повратити контролу на овај начин:

  1. Отворите командну линију или PowerShell као администратор и пријавите се као root на подразумеваној дистрибуцији:
    wsl -u root
    За одређену дистрибуцију:
    wsl -d NombreDistro -u root
  2. Унутар тог коренског терминала, трцати:
    passwd nombre_usuario и поставите нову лозинку.
  3. Одјавите се са WSL-а са exit и поново се пријавите нормално са опорављеним корисничким налогом.

Начини покретања и коришћења ваших Линук дистрибуција на Windows-у

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

  • Виндоус терминал (препоручено). Windows Terminal је Microsoft-ов модерни емулатор терминала. Сваки пут када инсталирате нову Linux дистрибуцију у WSL-у, у Windows Terminalu се појављује нови профил који можете прилагодити (икона, шема боја, команда за покретање итд.). То је најпогоднији начин за истовремени рад са више командних линија.
  • Из менија Старт. Можете унети име дистрибуције („Ubuntu“, „Debian“, „Kali Linux“...). Кликом на њу отворићете је директно у посебном конзолном прозору.
  • Из PowerShell-а или CMD-а. Можете директно унети име дистрибуције (на пример, ubuntu) или користите генеричку команду:
    wsl да уђете у подразумевану дистрибуцију, или
    wsl -d NombreDistro да унесете одређени.
  • Извршите одређену Линук команду из Windows-а. Користите синтаксу:
    wsl
    На пример: wsl ls -la, wsl pwd, wsl dateитд. На овај начин мешате Windows и Linux команде у истом цевоводу.

windows terminal

Windows терминал: савршен пратилац за WSL2

Да бисте максимално искористили WSL2, вреди га инсталирати Windows Terminal из Microsoft продавнице. Много је практичнији и моћнији од класичне командне линије или чак подразумеваног PowerShell прозора.

Виндоус терминал омогућава креирајте профиле за сваку дистрибуцијуДефинишите који се терминал отвара подразумевано (PowerShell, CMD, Ubuntu, итд.), користите картице, подељене панеле, различите теме боја, прилагођене фонтове, позадинске слике и напредне пречице на тастатури.

Ексклузивни садржај - Кликните овде  Ексел и Ворд: Преглед не ради. Шта да радим?

За многе програмере на Windows-уWindows Terminal + WSL2 је комбинација која је најближа радном искуству изворног Linux система или macOS-а са напредним терминалом, без напуштања вашег уобичајеног Windows окружења.

Подешавање вашег развојног окружења: VS Code, Visual Studio, Git и базе података

Када се WSL2 покрене и покрене, следећи логичан корак је интегришите свој омиљени едитор или IDE са тим окружењем. Мајкрософт је уложио много труда да Visual Studio Code и Visual Studio савршено раде са WSL-ом.

VS код

Идеално би било да инсталирате Пакет за удаљени развојОво проширење вам омогућава да отворите фасциклу која се налази у WSL-у као да је у питању локални пројекат, али да покрећете VS Code сервер унутар дистрибуције. Само откуцајте:

code .

Из WSL терминала, у фолдеру вашег пројекта, VS Code ће отворити ту „удаљену“ путању са целим својим екосистемом: екстензијама, дебаговањем, интегрисаним терминалом итд., али заправо функционише против Linux-а.

Визуелни студио

Омогућава вам да конфигуришете WSL као циљ за C++ пројекте користећи CMake. Можете компајлирати и дебаговати на Windows-у, WSL-у или удаљеним машинама, пребацујући циљ из самог IDE-а.

Што се тиче контроле верзија, коришћење Гита унутар WSL-а је једноставно као инсталирање помоћу менаџера пакета ваше дистрибуције (на пример, sudo apt install git (на Ubuntu-у) и конфигуришите акредитиве, датотеке изузећа, завршетке редова итд. Такође можете користити Windows Credential Manager за интеграцију аутентификације.

Конфигурисање база података у WSL-у (MySQL, PostgreSQL, MongoDB, Redis, SQL Server, SQLite, итд.) је веома слично као и на било ком Linux серверу. Можете покренути сервисе унутар дистрибуције или користити Docker контејнере на WSL2, а затим повезати своје апликације из Windows-а или са самог WSL-а, у зависности од ваших потреба.

Управљање екстерним дисковима, графичким корисничким интерфејсом и резервним копијама Линук дистрибуција

WSL2 такође дозвољава монтирајте екстерне дискове или УСБ дискове директно у Линукс окружењу. Постоји посебна документација за монтирање дискова помоћу команде wsl --mountОво вам даје велику флексибилност при раду са подацима које имате у другим јединицама.

Ако желите покретање графичких апликација на Линуксу (GUI) унутар WSL2 је сада могућ захваљујући Microsoft-овој подршци за GUI апликације. Ово вам омогућава да отворите графичке уређиваче, алате за дизајн или лагана десктоп окружења без потребе за покретањем традиционалне виртуелне машине.

Para hacer резервне копије или премештање комплетне дистрибуције на други рачунарWSL укључује две веома корисне команде:

  • Извоз дистрибуције:
    wsl --export NombreDistro backup-wsl.tar
    Ово генерише TAR датотеку са целим њеним фајл системом.
  • Увези дистрибуцију:
    wsl --import NombreDistro C:\ruta\destino backup-wsl.tar --version 2
    Ово враћа ту дистрибуцију са свим њеним садржајем на другу путању и, ако желите, осигурава да користи WSL2.

Овај механизам извоза/увоза је веома погодан за клонирање развојних окружења, њихово дељење са колегама или једноставно одржавање безбедносне резервне копије пре него што се направе веће измене.

WSL2 се етаблирао као примарно развојно окружење За многе кориснике Windows-а који не желе да се одрекну играња игара, коришћења одређеног софтвера или свог радног процеса на овом систему, али им је потребно право Linux окружење за програмирање, испробавање WSL2 би могло бити прекретница у начину на који раде.

Како користити PhotoPrism као приватну галерију са вештачком интелигенцијом на вашем локалном рачунару
Повезани чланак:
Како користити PhotoPrism као приватну галерију са вештачком интелигенцијом на вашем локалном рачунару