Approfondimento delle funzionalità di WSL2

Windows e Linux sono i due sistemi operativi (OS) più popolari. Windows offre un approccio intuitivo, ma l’elevata personalizzazione di Linux lo rende la scelta migliore per sviluppatori, persone produttive e studenti.

È necessaria la virtualizzazione all’interno di Windows o un dual boot per accedervi insieme.

Tuttavia, esiste una nuova funzionalità di Windows che ti consente di accedere facilmente a Linux in Windows.

Scopri WSL2: arriva il sottosistema Windows per Linux. È una funzionalità di Windows che ti consente di accedere a Linux in Windows.

Questo articolo si concentrerà su WSL2. Lo tratteremo in dettaglio, la sua definizione, lo scopo, il processo di installazione e come usarlo in modo efficace.

Iniziamo.

Cos’è il sottosistema Windows per Linux?

Il sottosistema Windows per Linux consente di accedere all’ambiente GNU/Linux direttamente dal terminale di Windows, eliminando la necessità di eseguire il dual-boot o utilizzare strumenti di virtualizzazione. Con esso, puoi accedere al kernel Linux. Ciò significa che puoi utilizzare le funzionalità di Linux direttamente da Windows, inclusi strumenti da riga di comando, applicazioni e utilità.

WSL 2 è l’ultimo sottosistema di Windows che offre funzionalità e velocità migliori rispetto a WSL1 (lanciato con Windows 10). Inoltre, la maggior parte delle installazioni di Windows è preinstallata con WSL. Per usarlo, devi abilitarlo.

Sotto il cofano, WSL2 utilizza la tecnologia della macchina virtuale Hyper-V di Windows. Ciò rende compatibile con Linux WSL2, con velocità di esecuzione quasi 20 volte superiori rispetto a WSL1.

In breve, WSL2 è l’ultimo sottosistema Windows per Linux, che offre agli utenti Windows come te l’accesso diretto al kernel Linux.

Introduzione a WSL2

Durante il nostro tutorial, utilizzeremo anche Windows Terminal, un’opzione pratica ma consigliata per lavorare con i terminali in Windows. È un terminale moderno, veloce ed efficiente per gli utenti che desiderano lavorare con strumenti da riga di comando e WSL.

Requisiti PC

Non tutti i PC possono eseguire WSL2. Il sistema deve supportare la virtualizzazione per eseguire WSL2. Questo perché WSL2 utilizza Hyper-V sotto il cofano.

È inoltre necessario utilizzare una CPU a 64 bit con supporto SLAT (Second Level Address Translation). Quasi tutte le moderne CPU lo supportano.

Per quanto riguarda lo spazio su disco, è necessario almeno 1 GB di spazio libero.

Abilitazione della virtualizzazione dal BIOS

Se soddisfi i requisiti hardware, devi abilitarlo dal BIOS della scheda madre.

Accedi al BIOS premendo i tasti della tastiera come F2, Canc o F10.

Nel BIOS, devi trovare e abilitare le Secure Virtual Machines (SVM) di AMD/la tecnologia di virtualizzazione VTx di Intel. Al termine, riavviare la macchina.

Se hai bisogno di ulteriori chiarimenti, controlla le istruzioni dettagliate nel mio altro post, Come installare Ubuntu su Windows 10 usando Hyper-V.

Abilitazione delle funzionalità di Windows per WSL2

Con i requisiti hardware soddisfatti, è giunto il momento di abilitare WSL2 da Windows.

Il primo passo è controllare la tua versione di Windows. Questo ci aiuterà a sapere se Windows supporta o meno WSL.

Per fare ciò, premi CMD + R sulla tastiera e digita “winver”. Mostrerà la tua versione di Windows.

Se usi Windows 10, probabilmente stai usando WSL1. Tuttavia, per la maggior parte degli utenti di Windows 11, è WSL2.

Tutte le versioni di Windows 10 e 11 supportano WSL2, ad eccezione di Windows S, poiché è finalizzato alla sicurezza e ha la virtualizzazione disabilitata.

Se utilizzi Windows S, devi passare a un’altra versione, ad esempio Windows Home o Pro.

Per fare ciò, vai su Impostazioni> Aggiornamento e sicurezza> Attivazione per cambiare il tuo sistema operativo.

Inoltre, è necessario che sia installato l’ultimo aggiornamento di Windows. Garantirà compatibilità e supporto completi per WSL2. Per aggiornare il tuo sistema vai su Impostazioni > Windows Update.

Per usare WSL2, devi abilitare più funzionalità di Windows.

Vai su Pannello di controllo > Programmi e funzionalità. Sotto di esso, troverai “Attiva o disattiva le funzionalità di Windows”. Fare clic su di esso e si aprirà una nuova finestra, “Funzionalità di Windows”.

Lì, cerca “Hyper-V”, “Piattaforma macchina virtuale” e “Sottosistema Windows per Linux”.

Chiederà quindi un riavvio per rendere effettive le modifiche.

Puoi anche abilitarlo eseguendo il seguente comando.

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

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

Installazione di WSL2

Dopo aver coperto tutti i prerequisiti, è giunto il momento di installare WSL.

Apri il terminale di Windows (Windows 10) o Windows PowerShell (Windows 11), quindi digita il seguente comando.

$ wsl

#produzione

Copyright (c) Microsoft Corporation. All rights reserved.

Usage: wsl.exe [Argument]

Arguments:
…..

Ciò significa che WSL è disponibile ma non attivato.

Ora, per installare WSL, esegui il seguente comando con privilegi di amministratore.

$ wsl --install

#produzione

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.

Nota: potresti non vederlo, considerando che li hai abilitati tramite le funzionalità di Windows. Invece, dovresti ottenere il seguente output. (Se lo fai, passa alla sezione successiva).

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:

Per verificare la versione WSL, digitare il comando wsl –version.

$ wsl --version

#produzione

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

Come noterai, la versione 1.1.6.0 di WSL è già preinstallata. Quindi, se non funziona e restituisce un errore, WSL non è installato.

Per passare a WSL2, eseguire il comando seguente.

$ wsl --set-default-version 2

Poiché il nostro sistema ha già preinstallato WSL, riceviamo questo messaggio.

Puoi anche installare WSL da Windows Store. Innanzitutto, apri lo Store e cerca “Sottosistema Windows per Linux”.

Fai clic su “Ottieni”. e attendi che venga installato.

Una volta installato, puoi fare clic su “Apri”, si aprirà un terminale Windows con il messaggio “Il sottosistema Windows per Linux non ha distribuzioni installate”.

Installazione della distribuzione su WSL

Con WSL installato, è il momento di installare le distribuzioni Linux.

Per impostazione predefinita, WSL installa la versione Ubuntu LTS. Per fare ciò, è necessario eseguire il seguente comando.

$ wsl --install

Inizierà l’installazione di Ubuntu. Ti chiederà di impostare un nuovo nome utente e password UNIX durante l’installazione.

Riceverai un prompt di Ubuntu Linux al termine dell’installazione. Qui puoi usare tutti i comandi di Linux. Controlliamo la versione di Ubuntu.

$ lsb_release -a

#produzione

No LSB modules are available.

Distributor ID: Ubuntu

Description:    Ubuntu 22.04.1 LTS

Release:        22.04

Codename:       jammy

Questo è tutto! Ora hai accesso al kernel Linux.

Per uscire dalla distribuzione, è necessario digitare il seguente comando.

$ exit

#produzione

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

logout

Installazione di più distribuzioni

Allo stesso modo, puoi installare altre distribuzioni come Fedora, Debian e OracleLinux_8_5. Per vedere le opzioni di distribuzione disponibili, digitare il seguente comando.

$ wsl --list --online

Per installare Debian, dovremo digitare il seguente comando.

$ wsl --install -d Debian

Or

$ wsl.exe --install Debian

Come Ubuntu, ti chiederà anche di installare un nome utente e una password.

#produzione

Ora, controlliamo la versione di Debian.

$ cat /etc/issue

#produzione

$ Debian GNU/Linux 11 n l

Ma che dire di Fedora? Non viene elencato quando si utilizza il comando wsl –list –online.

Bene, puoi anche installare distribuzioni dall’archivio di Windows.

Apri Windows Store e digita Linux distros; elencherà tutti quelli disponibili. Qui puoi vedere solo le distribuzioni supportate ufficiali.

Per il supporto di distribuzione non ufficiale, devi cercare manualmente. Tuttavia, queste distribuzioni non ufficiali possono essere difettose e non sicure al 100%. Quindi, usalo solo per scopi sperimentali.

Fai clic su “Installa” per renderlo disponibile sul tuo sistema.

Impostazione della distribuzione predefinita

Se vuoi vedere l’elenco delle distribuzioni disponibili, puoi elencarle con il seguente comando.

$ wsl --list

La parola chiave “Predefinito” su Ubuntu indica che la distribuzione Linux predefinita viene avviata quando si digita “wsl” nel prompt dei comandi.

Per modificare la distribuzione predefinita, digita il seguente comando.

$ wsl --setdefault <DistroName>

Quindi, per impostare Debian come distribuzione predefinita, dobbiamo digitare il seguente comando.

$ wsl --setdefault Debian

Quindi, la prossima volta che digiti wsl nel terminale, avvierai Debian.

Cambio della versione WSL per la distribuzione

Per impostazione predefinita, le distribuzioni usano WSL2. Per elencare le distribuzioni attualmente installate e la relativa versione WSL, digitare il comando seguente.

$ wsl --list --verbose

#produzione

NAME      STATE           VERSION

* Ubuntu    Stopped         2

  Debian    Stopped         2

Qui, * si riferisce all’installazione predefinita di Linux.

Ora, per modificare la versione WSL da 2 a 1, digitare:

$ wsl --set-version Ubuntu 1

E, se vuoi tornare a 2 da 1, digita:

$ wsl --set-vesion Ubuntu 2

Nota: potrebbe essere necessario un po’ di tempo prima che la conversione abbia luogo. Durante la conversione, non chiudere la finestra.

Avvio di distribuzioni particolari con nomi utente diversi

E se volessi lanciare una particolare distribuzione? Per fare ciò, è necessario digitare il seguente comando.

$ wsl -d <DistroName>

Or

$ wsl --distribution <DistroName>

Per avviare Ubuntu, digita:

$ wsl -d Ubuntu

Se vuoi avviarlo con un particolare nome utente, devi aggiungere –user seguito dal nome utente.

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

Ad esempio, per avviare Debian con un nome utente “root”.

$ wsl -d Debian --user root

Nota: l’avvio della distribuzione con un utente inesistente riceverà un errore, “Utente non trovato”.

Aggiorna Linux

Puoi aggiornare la tua distribuzione Linux digitando il seguente comando:

$ sudo apt update

$ sudo apt upgrade

Inoltre, puoi anche cercare gli aggiornamenti del kernel Linux per WSL:

$ wsl --update

Configurazione di Visual Studio Code con WSL2

Puoi anche configurare VS Code in modo che funzioni con WSL. In questo modo puoi accedere al terminale WSL direttamente dal VS Code. Può aiutarti a sviluppare applicazioni su applicazioni basate su Linux durante l’accesso a utility e toolchain specifici di Linux.

Inoltre, puoi anche avere accesso a strumenti di produttività specifici di Windows sfruttando al contempo le funzionalità di VS Code.

Per farlo funzionare, è necessario installare il pacchetto di estensione per lo sviluppo remoto. Puoi anche cercarlo direttamente dal VS Code cercando il suo nome dalla scheda dell’estensione.

Se lavori localmente, puoi configurarlo andando al menu VS Code. Da lì, scegli Visualizza> Terminale.

Aprirà il terminale. Troverai il simbolo > accanto al simbolo “+”. Fai clic su di esso e troverai i terminali WSL elencati.

Qui puoi anche selezionare “Profilo predefinito”.

Ciò è possibile perché VS Code può accedere direttamente a \wsl$ e a qualsiasi debugger in esecuzione su localhost.

Lavorare con applicazioni grafiche e WSL2

Per lavorare con le applicazioni grafiche, è necessario installare i driver corretti per WSL2. Intel, AMD e Nvidia offrono un driver per WSL in modo che le applicazioni grafiche basate su Linux possano funzionare senza problemi.

Tuttavia, troverai ancora problemi con questo approccio. Prima di tutto, queste app grafiche potrebbero avere alcune funzionalità non funzionanti. Inoltre, molte app potrebbero non funzionare, lasciandoti alla ricerca di alternative.

In breve, è principalmente un metodo per tentativi ed errori, in cui potresti dedicare troppo tempo.

Puoi controllare la loro guida WSL2 su come lavorare con applicazioni grafiche usando Ubuntu.

Docker Desktop WSL2 su Windows

Se non vuoi eseguire la configurazione in locale utilizzando Hyper-V, puoi utilizzare Docker Desktop, che supporta ufficialmente WSL2. Con esso, puoi impostare un flusso di lavoro più veloce per utilizzare gli strumenti Docker direttamente su Windows. Per saperne di più, consulta la guida qui.

Perché Microsoft sta prendendo Linux sul serio?

Microsoft è una società proprietaria. Crea soluzioni come Windows in un ambiente chiuso e desidera che gli utenti si attengano a Windows anziché a Linux.

Tuttavia, nel 2016, hanno annunciato un impegno per l’Open Source. La visione è cambiata all’inizio del 2001, quando Steve Ballmer ha definito Linux un “cancro”.

Nel 2023 le cose sono cambiate. Microsoft adotta Linux direttamente nel suo ecosistema. Hanno annunciato WSL2 a maggio 2019 e introdotto WSL2 a ottobre 2021 in Windows Store. Hanno anche rilasciato WSL2 v1.0 a novembre 2022.

Hanno anche reso software Microsoft come Edge e Teams accessibili agli utenti Linux. Stanno anche contribuendo attivamente al kernel Linux e un prodotto membro della Linux Foundation.

Tutti questi accenni a Microsoft che prende sul serio Linux. Tuttavia, alcuni scettici non pensano che Microsoft ami Linux.

In breve, Microsoft è interessata a Linux. Il loro sottosistema Windows è la prova che tengono a Linux e all’open source. Ma, cosa più importante, ci dice che vogliono che i loro utenti abbiano accesso continuo al kernel Linux senza la necessità di utilizzare la virtualizzazione o eseguire un dual-boot su un sistema operativo Linux.

Parole finali

Nell’era di “quale sistema operativo è il migliore per gli sviluppatori”, gli sviluppatori possono scegliere un percorso per accedere a entrambi. WSL2 fornisce l’accesso al kernel Linux tramite diverse distribuzioni Linux. Inoltre, è veloce e funziona con Docker.

Attualmente, WSL2 è in fase di sviluppo attivo, risolvendo problemi di compatibilità e dando più potere alle mani degli sviluppatori. Pertanto, possiamo dire che il futuro sembra luminoso con WSL2 e Microsoft sta facendo ogni passo per rendere il kernel Linux accessibile ai suoi utenti Windows.

Successivamente, controlla le distribuzioni Linux per sapere come amministratore di sistema e sviluppatore.