Ora è possibile eseguire app GUI Linux su Windows 10 grazie alle ultime modifiche di Microsoft a WSL o sottosistema Windows per Linux.
Windows potrebbe essere il sistema operativo desktop più popolare, ma ciò non significa che possa fare tutto. Se vuoi fare qualcosa del genere eseguire un server proiettore JetBrains, ad esempio, avrai bisogno di un sistema basato su Unix, come Linux. Microsoft ha introdotto qualche tempo fa Windows Subsystem for Linux (WSL), che ha fornito il supporto per l'esecuzione di app Linux direttamente dall'installazione di Windows.
Ma il WSL aveva alcune limitazioni. La versione 1 non utilizzava nemmeno un kernel Linux completo, quindi molte applicazioni continuavano a non funzionare. La versione 2 ha apportato molti miglioramenti, ma mancava ancora qualcosa: il supporto dell'applicazione GUI.
Certo, potresti sempre impostare una soluzione hackata in cui installi un server X su Windows e rovini qualche porta forwarding e impostare una variabile di ambiente automatica in WSL, ma è una seccatura da fare e non sempre funziona ottimo.
Inserisci WSLg.
WSLg: esegui app Linux con GUI su Windows 10
WSLg è la risposta di Microsoft al problema della GUI di Linux ed è onestamente un po' strano. Ecco un diagramma divertente di come funziona, per gentile concessione di Microsoft.
C'è molto da fare qui, ma l'idea di base è in realtà abbastanza simile al vecchio metodo manuale per configurare il proprio server X. Invece, il server X è in esecuzione su un'istanza WSL parallela invisibile all'utente. Windows utilizza quindi un protocollo desktop remoto per convogliare video e audio da quell'istanza invisibile al lato Windows. Probabilmente sembra complicato, e lo è, ma funziona.
Microsoft afferma inoltre che, anche attraverso tutti questi livelli, le app Linux dovrebbero essere in grado di sfruttare la tua GPU, con cose come il passthrough OpenGL. Attualmente, questo comportamento richiede un driver speciale di AMD, Intel o NVIDIA, ma il piano è di includerlo in bundle per impostazione predefinita in futuro.
Quel futuro arriverà probabilmente nella seconda metà di quest’anno, con Windows 21H2 insieme a una grande revisione dell'interfaccia utente. Craig Loewen, Program Manager per la piattaforma per sviluppatori Windows, ha confermato su Twitter che il supporto GUI per le app Linux arriverà per tutti gli utenti nella prossima importante versione di Windows.
Caratteristiche
Al momento, WSLg sembra in realtà abbastanza completo di funzionalità. L'affermazione è che puoi avere il supporto video e audio completo per le app GUI Linux, insieme all'accelerazione 3D. Ed è abbastanza semplice. Quando una nuova app GUI viene installata in un'istanza WSL, viene anche aggiunta al menu Start, quindi puoi avviarla direttamente. Le app dovrebbero essere visualizzate in una cartella con lo stesso nome dell'istanza WSL corrispondente.
Bug
Naturalmente, questa è una versione anticipata e ci sono alcuni bug. Personalmente, quando l'ho configurato su uno dei miei laptop, non sono riuscito nemmeno a far funzionare alcuna app. Inoltre non ho ricevuto alcuna voce del menu Start per le app. Il team dietro a tutto questo, però, è incredibilmente reattivo e almeno il primo problema è già stato risolto per la prossima versione.
Apparentemente ci sono anche altri problemi che riguardano il copia-incolla e l'audio danneggiato. Puoi controllare l'elenco completo dei problemi sul sito Repository GitHub WSLg.
Iniziare
Allora come si ottiene WSLg? Bene, al momento, il modo più semplice è aggiornare all'ultima versione Developer Ring di Windows 10 Insider (build 21364 o successiva). Una volta fatto ciò, puoi semplicemente scappare wsl --aggiornamento in una finestra del prompt dei comandi o di PowerShell con privilegi elevati, seguita da wsl --spegnimento.
Quindi apri semplicemente un'istanza WSL ed esegui un'app Linux con una GUI. Supponendo che tutto sia andato bene, vedrai la tua app apparire quasi come un'app nativa di Windows. Altrimenti, controlla i problemi di GitHub o, se necessario, invia il tuo problema.
Risorse
Per ulteriori informazioni su come vengono eseguite le app Linux con GUI, assicurati di consultare le seguenti risorse:
- Repository GitHub di WSLg.
- Annuncio di Windows Insider 21364.
- Descrizione dettagliata di Craig Loewen.
Oppure guarda la procedura dettagliata e il video di esempio di Craig Loewen: