Come abilitare il sottosistema Windows per Linux
Più di cinque anni fa, Microsoft introdusse una grande novità: la possibilità di utilizzare Linux direttamente da Windows! Non parliamo di una macchina virtuale o di un dual boot (qui potete vedere come fare), ma di una vera e propria soluzione integrata.
La funzione, rivolta principalmente agli sviluppatori, è chiamata Windows Subsystem for Linux (WSL, sottosistema Windows per Linux) e consente di gestire ed eseguire gli strumenti Linux da riga di comando in modo nativo su Windows.
L'anno scorso è arrivata la seconda versione dello strumento, WSL 2, che ha portato una serie di miglioramenti. Scopriamo quindi cos'è e come abilitare il sottosistema Windows per Linux nel 2023, come installare una distribuzione Linux e come utilizzare alcuni comandi. Se invece foste interessati al dual boot vi suggeriamo di leggere la nostra guida dedicata.
Indice
- Cos'è il sottosistema Windows per Linux e perché usarlo
- Come abilitare il sottosistema Windows per Linux su Windows 10 (versioni 2004 e successive) e Windows 11
- Prerequisiti
- Installazione
- Installare una distro Linux
- Come abilitare il sottosistema Windows per Linux su Windows 10 (versioni 1909 o 1903)
- Come usare WSL 2
- Come usare WSL1 insieme a WSL 2
- Installare WSL 1
- Impostare WSL 2 come predefinita
- Eseguire le distro Linux su WSL 1 o WSL 2
- Cambiare WSL associata a una distro
- Elencare le distro Linux e la WSL associata
Cos'è il sottosistema Windows per Linux e perché usarlo
Prima di vedere come installare Linux su Windows tramite il sottosistema Windows per Linux (WSL), vediamo cos'è quest'ultimo.
Rilasciato nel 2017, WSL permette di eseguire un ambiente GNU/Linux direttamente in Windows, senza usare macchine virtuali o configurazioni in dual boot.
Non dovete pensare a un'interfaccia tipica di una distro GNU/Linux, in quanto lo strumento è eseguito in una shell Bash, quella predefinita di molte distribuzioni Linux (WSL è orientato primariamente agli sviluppatori), ma a parte questo, tutte le utilità e le applicazioni sono eseguite nativamente, ed è anche possibile accedere al file system del computer locale dalla shell Bash!
Una volta installato, potete:
- scegliere la vostra distro preferita (tra cui Ubuntu, OpenSUSE, Kali, Debian o Arch Linux)
- eseguire strumenti da riga di comando, script, applicazioni
- installare software aggiuntivo
- richiamare le applicazioni GNU/Linux in Windows ed eseguirle, anche con la loro interfaccia utente grafica
- usare l'accelerazione GPU per applicazioni di machine learning
L'anno scorso, Microsoft ha rilasciato un grande aggiornamento, WSL 2, che ha portato un considerevole miglioramento delle prestazioni migliori, soprattutto perché ha cambiato completamente l'architettura e utilizza per la prima volta un vero kernel Linux, che viene aggiornato insieme a Windows.
La notizia interessante è che potete eseguire le singole distribuzioni con l'architettura WSL 1 o WSL 2 (già, perché possono essere installate più distro), cambiare architettura anche dopo l'installazione e persino eseguirle nello stesso momento.
E la notizia migliore è che ora è molto più semplice installare WSL.
Ma perché bisognerebbe usarlo? Come abbiamo anticipato, è uno strumento orientato agli sviluppatori, e i vantaggi rispetto a una macchina virtuale sono la notevolmente ridotta quantità di risorse necessarie, e di poter eseguire app e strumenti Linux da riga di comando insieme ad app Windows, utilizzando lo stesso set di file.
Come installare Linux su Windows con WSL su Windows 10 (versioni 2004 e successive) e Windows 11
Prerequisiti
Per installare WSL 2 su Windows 10 è necessario soddisfare i seguenti requisiti minimi:
- Windows 10 maggio 2020 (2004, Build 19041), Windows 11
- Un computer con supporto per la virtualizzazione Hyper-V
Per le versioni 1903 e 1909 di Windows 10, è necessario un passaggio ulteriore, che vedremo nel paragrafo successivo.
Installazione
Installare WSL 2 è facilissimo:
- Premete il tasto Windows
- Scrivete PowerShell
- Cliccate sull'icona corrispondente
- Quando si apre la finestra, inserite il seguente comando
- wsl --install
- wsl --install
- Questo abiliterà WSL e le funzionalità richieste, recupererà l'ultima versione del kernel Linux WSL e installerà Ubuntu come distribuzione predefinita. Se non volete installare una distribuzione in questo momento, usate il comando
- wsl --install -- no-distribution
- Se invece volete installare anche WSL 1 (ma si può fare anche in un secondo momento), usate questo comando
- wsl --install --enable-wsl1
- Premete Invio
- Cliccate su Sì entrambe le volte
- Al termine, riavviate il computer
- Accedete a Windows e il prompt dei comandi si aprirà automaticamente
- Questa volta verrete guidati nella configurazione di Ubuntu con un nome utente e una password (che non devono necessariamente essere gli stessi di Windows)
- Ora potete avviare l'app Ubuntu dal menu Start, come se fosse un'app qualsiasi, o (in caso non sia installata) installare l'app Windows Terminal (che trovate sul Microsoft Store) per iniziare a esplorare la distro appena installata
- Appena avviate Ubuntu, eseguite il seguente comando per aggiornare sistema e dipendenze, proprio come fareste normalmente
- apt update && apt upgrade
Installare una distro Linux
Per installare una distro Linux, potete semplicemente andare sul Microsoft Store e cercare quella di vostro interesse, proprio come fareste con un'app qualunque.
Per esempio, dopo aver avviato il Microsoft Store, inserite nel campo di ricerca il nome di una distro, come OpenSUSE, Fedora, Arch, Pengwin o Ubuntu 22.04, e cliccate sulla voce corrispondente. Alcune sono a pagamento, altre gratuite.
Ottenere un'interfaccia grafica
Se volete ottenere un'interfaccia grafica, dovete installare un server grafico di terze parti. Ovviamente così perdete la velocità del sistema garantito da WSL.
- Scaricate Xming da qui
- Cliccate due volte sul file scaricato
- Cliccate su Sì
- Cliccate su Next
- Cliccate su Install
- Cliccate su Close
- Consentite l'accesso alla rete locale cliccando su Consenti accesso
- Aprite PowerShell e avviate la distro Linux con i comandi visti sopra
- Inserite il seguente comando, seguito da Invio:
- sudo apt update && sudo apt upgrade
- Installate un ambiente grafico, per esempio lxde
- sudo apt install lxde
- Inserite il comando seguente
- export DISPLAY=:0.0
- Premete Invio
- Inserite il comando
-
- echo "export DISPLAY=:0.0" > $HOME/.bashrc
- Premete Invio
- Ora potete avviare l'ambiente digitando il seguente comando:
- startlxde
- Premete Invio, e Ubuntu con desktop lxde verrà avviato
Come installare Linux su Windows con WSL su Windows 10 (versioni 1909 o 1903)
Se per qualche motivo state usando una versione di Windows 10 più vecchia, come 1903 e 1909, potete ugualmente installare WSL, ma la procedura è un po' diversa, in quanto dovete abilitare WSL, abilitare la Virtual Machine Platform (in caso vogliate usare WSL 2), impostare WSL 2 come predefinito (se volete) e poi installare una distro Linux.
- Premete il tasto Windows
- Scrivete PowerShell
- Sul risultato, cliccate su Esegui come amministratore
- Inserite il seguente comando
- dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- Ora se volete usare WSL 1, potete passare direttamente a installare una distro, altrimenti dovete abilitare la Virtual Machine Platform (che non è Hyper-V)
- Abilitate la Virtual Machine Platform, eseguite il seguente comando
- Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
- Riavviate il computer
- Riavviate PowerShell come amministratore
- Ora potete impostare WSL 2 come predefinita (se lo desiderate) con questo comando (potete comunque eseguire una distro con WSL 1 in qualunque momento):
- wsl --set-default-version 2
- Installate una distro dal Microsoft Store. Ce ne sono diverse, da Ubuntu a OpenSUSE, Pengwin, Fedora Remix, e Alpine Linux.
- Come sopra, è consigliato installare il Windows Terminal
Come usare WSL 2
Ora che avete installato tutto, vediamo come usare al meglio WSL 2. Quando attivate una distro Linux cliccandoci sopra come se fosse un'app, si aprirà una finestra del Terminale Windows.
Ma già che usate il terminale, è meglio fare tutto da PowerShell, no?
- Avviate PowerShell
- Se avete solo una distro, scrivete il seguente comando:
- wsl
- Se avete più distro, potete lanciarne una con questo comando:
- wsl -d [nome distribuzione]
- Questo avvierà la distro e potrete operare in ambiente Linux
- Quando avete finito, digitate semplicemente il seguente comando per tornare alla PowerShell:
- exit
Usare WSL1 insieme a WSL2
Come abbiamo detto, WSL 2 è ora l'architettura standard, ma se si vuole si può usare l'architettura WSL 1 insieme alla WSL 2.
Installare WSL 1
Durante l'installazione di WSL 2, abbiamo visto che è possibile attivare anche WSL 1, ma si può fare anche successivamente. Ecco come.
- Premete il tasto Windows
- Scrivete PowerShell
- Sul risultato, cliccate su Esegui come amministratore
- Inserite il seguente comando:
- dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- Riavviate il computer. Il comando /norestart non ve lo fa riavviare automaticamente, ma se volete comunque riavviarlo, potete ometterlo
Impostare WSL 2 come predefinita
Ora, come abbiamo visto nel secondo paragrafo, potete impostare WSL 2 come architettura predefinita, in modo che qualunque distro installiate, verrà eseguita su di essa.
- Avviate la PowerShell
- Inserite il seguente comando
- wsl --set-default-version 2
Eseguire le distro Linux su WSL1 o WSL 2
Cambiare WSL associata a una distro
Se impostate WSL 2 come predefinita, qualunque distro installiate verrà eseguita su di essa, ma potete anche cambiare l'architettura su cui eseguirla manualmente dopo l'installazione. Ecco come fare.
- Avviate la PowerShell
- Inserite il seguente comando
- wsl --set-version [nome distribuzione] [numero versione WSL]
- Sembra molto complicato, ma se per esempio avete un'installazione di Ubuntu associata a WSL 1 e volete convertirla a WSL 2 il comando è il seguente
- wsl --set-version ubuntu 2
Elencare le distro Linux e la WSL associata
Se volete elencare le varie distro Linux installate e l'attuale configurazione delle WSL associate, potete inserire un comodo comando:
- Avviate la PowerShell
- Inserite il seguente comando
- wsl --list --verbose
Il risultato sarà una schermata con le versioni Linux installate e la WSL associata. Se omettete il flag --verbose, avrete invece un elenco delle distro Linux installate.