Le nuove build di Windows 10 consentono di eseguire nativamente programmi Linux con interfaccia grafica, senza bisogno di smanettare per installare un server grafico manualmente. E, grazie all'accesso diretto alla GPU, le prestazioni sono eccellenti. Allo scopo, si utilizza il componente Sottosistema Windows per Linux (WSL) e, in particolare, il componente WSLg. Vediamo dunque come procedere per configurare tutto quanto

WSL Windows 10: come eseguire programmi Linux interfaccia grafica (WSLg, modo ufficiale 2021/2022) - zShotVM_1621841143

Prima di iniziare, è bene ricordare che la capacità di eseguire applicazioni Linux con interfaccia grafica sotto Windows 10 non è una novità. Già dalle prime versioni di WSL avevamo infatti pubblicato una guida che mostrava come svolgere l'operazione:

» Leggi: Guida a Bash su Windows 10 (WSL): come eseguire programmi Linux/Ubuntu con interfaccia grafica (GUI)

La vera, importantissima novità è che, ora, la funzionalità è integrata nativamente in WSL (è chiamata informalmente come WSLg). La configurazione è dunque molto più semplice, e le prestazioni grafiche drasticamente superiori grazie all'accelerazione hardware della GPU.

La funzione è disponibile a partire da Windows 10 21H2, Aggiornamento di Ottobre 2021. Chi non potesse aggiornare oppure incontrasse qualche malfunzionamento con la nuova caratteristica, può continuare ad utilizzare la modalità "manuale" descritta nella vecchia guida.

Passo 1: Installare o aggiornare WSL

Per prima cosa, assicuriamoci di installare Sottosistema Windows per Linux (WSL) sul nostro PC. La guida passo passo è disponibile qui:

» Leggi: Linux su Windows 10: la Grande Guida a WSL2. Come installare Sottosistema Windows per Linux (WSL), eseguire programmi, accedere ai file (video)

Nello specifico, raccomando di usare proprio il comando wsl --install (un'altra novità di Windows 10 21H2)

WSL Windows 10: come eseguire programmi Linux interfaccia grafica (WSLg, modo ufficiale 2021/2022) - guida Sottosistema Windows per Linux WSL spotlight

Se invece il PC già monta WSL:

  1. assicuriamoci che il componente sia ben aggiornato lanciando il comando wsl --update (questo comando va eseguito in ambiente Windows, NON all'interno del terminale WSL!)
  2. impartire poi wsl --shutdown (sempre dall'ambiente Windows) per arrestare completamente WSL e rendere effettivo l'aggiornamento
  3. assicuriamoci che sia in uso WSL2, e non WSL1

Durante il setup, notiamo che il supporto nativo alle applicazioni Linux dotate di interfaccia grafica viene installato automaticamente insieme al resto: è il componente denominato Supporto app GUI

WSL Windows 10: come eseguire programmi Linux interfaccia grafica (WSLg, modo ufficiale 2021/2022)

Passo 2: Eseguire un programma Linux con interfaccia grafica su Windows 10

Avviamo ora la distribuzione Linux che abbiamo scelto tramite il relativo collegamento nel menu Start (se non avete espresso una preferenza esplicita, si tratta di Ubuntu)

WSL Windows 10: come eseguire programmi Linux interfaccia grafica (WSLg, modo ufficiale 2021/2022) - zShotVM_1570997133

Una volta davanti alla linea di comando, possiamo avviare la nostra applicazione grafica preferita. Se ancora non ne abbiamo nemmeno una, installiamo, ad esempio, il pacchetto di programmi a corredo dell'ambiente desktop. Con Ubuntu, impartiamo quanto segue:

sudo apt update && sudo apt install x11-apps -y

WSL Windows 10: come eseguire programmi Linux interfaccia grafica (WSLg, modo ufficiale 2021/2022) - zShotVM_1621839266

Le applicazioni appena installate divengono così avviabili da linea di comando. Nello specifico, possiamo avviare i programmini presenti in questa lista, fra i quali ricordiamo xclock, xcalc, xedit, xeyes, xgc

WSL Windows 10: come eseguire programmi Linux interfaccia grafica (WSLg, modo ufficiale 2021/2022) - zShotVM_1621840547

Da notare che, durante l'avvio o l'uso di questi programmi, il terminale potrebbe mostrare messaggi di avviso (Warning) oppure errori veri e propri (Error): è tutto assolutamente normale e non indica un malfunzionamento.

Allo stesso modo, notiamo che i bordi delle finestre dei programmi Linux, così come la barra del titolo e pulsanti di controllo (riduci a icona, massimizza, chiudi) hanno uno stile grafico diverso da quello delle app native per Windows 10. È normale che sia così, poiché il rendering di questi elementi avviene tramite il server grafico Linux.

Interessante constatare che ogni programma Linux lanciato in questo modo si mostra con una propria icona dedicata nella barra delle applicazioni di Windows 10. Si tratta di un'accortezza importante, che permette di passare da un'app all'altra con la massima naturalezza, indipendentemente che si tratti di un programma per Linux o per Windows.

Passo 3: Eseguire molteplici programmi Linux con interfaccia grafica su Windows 10

Ogni volta che lanciamo un programma, la linea di comando non è più in grado di accettare altri ordini fino a quando l'applicazione Linux non viene chiusa. Se quindi desideriamo avviare e mantenere in esecuzione molteplici software Linux, accodiamo & al nome del comando per lanciarlo in background. Ad esempio: prima xclock &, poi xcalc & e infine xeyes &

WSL Windows 10: come eseguire programmi Linux interfaccia grafica (WSLg, modo ufficiale 2021/2022) - zShotVM_1621841143

Passo 4: Navigare in sicurezza con Chrome per Linux

Un'idea "creativa" per sfruttare la nuova funzionalità è quella di installare il browser web Chrome per Linux all'interno di WSL. Così facendo, potremo navigare anche sui siti pericolosi con la tranquillità di essere completamente al riparo da tutti i malware per Windows.

» Leggi anche: La Grande Guida a Windows Sandbox: come aprire / provare programmi in sicurezza con Windows 10

Allo scopo, apriamo la console WSL e impartiamo il seguente comando (nota: il comando è per Ubuntu: dovrà essere adattato in caso sia in uso un'altra distribuzione):

sudo wget -O chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb && sudo apt update && sudo apt install ./chrome.deb -y && sudo rm chrome.deb

WSL Windows 10: come eseguire programmi Linux interfaccia grafica (WSLg, modo ufficiale 2021/2022) - zShotVM_1622279612

nota: il comando indicato installa Chrome dal canale "stabile". Chi preferisse il canale "beta", può usare quest'altro indirizzo:

https://dl.google.com/linux/direct/google-chrome-beta_current_amd64.deb

Al termine dell'installazione, possiamo avviare Chrome per Linux da PC Windows 10 tramite il collegamento di nome Google Chrome (Ubuntu) automaticamente creato nel menu Start

WSL Windows 10: come eseguire programmi Linux interfaccia grafica (WSLg, modo ufficiale 2021/2022) - zShotVM_1622279816

Passo 5: Attivare l'accelerazione hardware della GPU

Per assicurarsi che che le applicazioni Linux con interfaccia grafica in esecuzione con WSL possano sfruttare la GPU e raggiungere quindi le migliori prestazioni, è necessario aggiornare i driver video di Windows 10 ad una versione recente. Il punto di partenza sono le pagine dedicate dei vari produttori:

Per maggiori informazioni e una comparativa prestazionale si veda il questo post.

Conclusioni e altri riferimenti utili

In questa guida abbiamo visto come eseguire programmi Linux con interfaccia grafica su Windows 10 tramite WSL2. Chi volesse saperne di più può consultare questi riferimenti (in inglese):