venerdì, Aprile 19, 2024

Sottosistema Windows per Linux 2: le funzionalità della GUI richieste dagli sviluppatori

Il  sottosistema Windows per Linux  (WSL) è una parte importante di Windows 10. Utilizzando una versione della tecnologia di virtualizzazione Hyper-V di Microsoft, consente di eseguire Linux come se fosse parte di Windows, condividendo risorse e file. È stato originariamente progettato per gli sviluppatori che creano applicazioni web e cloud, ma è stato trasformato in qualcosa di molto più potente che unisce due sistemi operativi molto diversi.

Microsoft ha originariamente progettato WSL per l’uso con la riga di comando bash, ma si è evoluto in qualcosa di molto più simile a una distribuzione Linux tradizionale. Invece di utilizzare il set originale di shim e traduzioni di Microsoft per convertire le chiamate di sistema Linux in chiamate Windows, ora utilizza un kernel Linux compilato e supportato da Microsoft, inizialmente utilizzando la versione del kernel 4.19 ma ora distribuendo una versione 5.4 più aggiornata. Questa modifica ha migliorato il supporto per le applicazioni Linux, con la maggior parte in esecuzione senza necessità di modifiche. Ci sono alcuni problemi: poiché è un sottosistema non viene avviato all’avvio, quindi non c’è supporto per i lavori a tempo o per i servizi che utilizzano systemd.

Oltre la riga di comando

La riga di comando è ottima per gran parte di ciò per cui Microsoft intendeva utilizzare Linux su Windows – testare il codice e utilizzare copie locali di stack di applicazioni native del cloud basati su Linux – utilizzando il terminale di Windows rinnovato e molto migliorato  . Ma gli sviluppatori e gli utenti volevano di più, trovando modi per portare i desktop Linux familiari su Windows, utilizzando le versioni Windows dei   server X che aggiungono il supporto grafico alla maggior parte delle distribuzioni Linux.

Con WSL 1, l’installazione e l’esecuzione di una GUI era un processo complesso. Le modifiche in  WSL 2  al modo in cui gestisce la rete lo hanno reso ancora più difficile, poiché la macchina virtuale Linux non condivideva più un indirizzo IP con il sistema operativo Windows host. Invece è una VM con risorse condivise, che utilizza uno switch virtuale per condividere la scheda di rete dell’host. Ciò richiede che gli script trovino l’indirizzo IP corrente ogni volta che si avvia WSL e una modifica al modello di sicurezza per qualsiasi Windows X Server.

wsl-compare-tr.jpg

WSL 2 e la GPU

La promessa di Microsoft di un nuovo modello GUI per WSL 2 entro le festività natalizie del 2020 è stata respinta, molto probabilmente a causa di un ritardo nello sviluppo del  bridge WSL 2  Mesa 3D OpenGL / DirectX che sembra essere la chiave per fornire supporto per la grafica Linux senza richiedere nuovi driver per tutte le schede grafiche supportate da Windows. Se Microsoft ei suoi partner possono fornire un modo per mappare le chiamate Linux OpenGL alle API grafiche di Windows, dovrebbe significare che il supporto grafico WSL 2 funzionerà, senza richiedere modifiche alle distribuzioni Linux ospitate da WSL 2 oa Windows.

Con Mesa 3D che offre API OpenGL sia a Windows che a Linux da un singolo set di driver, dovrebbe essere possibile per Microsoft fornire un  server Wayland ottimizzato per Windows  che può essere installato da qualsiasi repository di distribuzione Linux. Tutto quello che devi fare è scaricare il server e un ambiente desktop Linux. La parte finale dell’equazione sarebbe una versione di uno strumento come  xrdp  per fornire un desktop completo o un set di app Windows selezionate a un client desktop remoto in esecuzione su Windows.

Per inciso, è interessante notare che il partner di Microsoft nel suo lavoro di bridge DirectX / Mesa 3D, Collabora, ha recentemente dimostrato un  compositore Wayland che gira su WINE . Un lavoro come questo potrebbe essere facilmente utilizzato per aggiungere il supporto Wayland agli strumenti di Desktop remoto di Windows insieme al protocollo RDP di Microsoft.

Utilizzo di RDP con WSL 2

Puoi avere un’idea di come funzionerebbe utilizzando la nuova versione di Ubuntu  Community Preview  dell’ambiente WSL di Ubuntu, se stai utilizzando una build del canale Dev di Windows 10. L’anteprima della community di Ubuntu non è disponibile da una ricerca in Windows Store : devi seguire un collegamento nei  blog  di Ubuntu WSL 2 a una pagina nascosta per scaricarlo. Non è nascosto per nessun motivo nefasto: attualmente è una versione della 20.10 destinata ai beta tester e viene aggiornata regolarmente (con la prossima versione probabilmente un’anteprima della versione 21.04). Poiché ogni aggiornamento richiederà il ripristino dell’ambiente WSL 2 della distribuzione, non è consigliato per l’uso quotidiano.

Uno dei primi strumenti che l’anteprima della comunità di Ubuntu sta testando è una nuova esperienza pronta all’uso e un set correlato di strumenti di configurazione. Questi includono l’opzione di preparare Ubuntu per l’uso con la rete WSL 2 per le GUI, impostando uno script che imposta automaticamente le variabili di ambiente DISPLAY appropriate. È possibile abilitarlo durante la configurazione di Ubuntu per la prima volta o dallo strumento di configurazione integrato.

Un modo rapido per aggiungere il supporto GUI è usare xrdp, che è abbastanza facile da configurare. Per prima cosa usa il gestore di pacchetti di Ubuntu per installare un ambiente desktop. Ho scelto  Kubuntu , ma ci sono molte altre opzioni popolari. Questo aggiunge molte applicazioni basate su GUI a WSL, insieme a un ambiente desktop pulito e moderno che utilizza il linguaggio di progettazione al plasma di Kubuntu.

L’installazione di Kubuntu può richiedere del tempo, anche su un PC veloce, poiché è necessario configurare vari database e file di configurazione come parte dell’installazione. Una volta installato, tutto ciò che devi fare è apportare un paio di piccole modifiche ai file di configurazione xrdp, cambiare la porta RDP da 3389 e aggiungere un supporto migliore per gli schermi del PC (aumentando la profondità del colore per un’immagine migliore) e avviare entrambi i dbus message system e xrdp, prima di utilizzare lo strumento Connessione desktop remoto di Windows per aprire un display da WSL 2.

Con RDP e Connessione desktop remoto puoi condividere i tuoi appunti di Windows con WSL 2, tagliando e incollando sui terminali in esecuzione sul desktop Kubuntu. È un’integrazione fluida, poiché WSL 2 sulle attuali build Insider Dev espone anche il suo file system ext4 a Esplora file di Windows. Anche se devi avere un desktop completo e non puoi semplicemente portare le finestre delle applicazioni sul desktop di Windows, avere un ambiente Linux completo come Kubuntu rende possibile iniziare a pensare ai flussi di lavoro multipiattaforma e a come puoi portare i due ambienti insieme.

Il futuro di WSL?

La promessa GUI WSL basata su Wayland di Microsoft adotterà un approccio più orientato alle applicazioni a Linux, con prime demo che mostrano le applicazioni Linux accessibili dal desktop di Windows e in esecuzione nel proprio Windows. Se usi il desktop virtuale Windows basato su Azure,   dovresti avere familiarità con questo approccio, portando le app ospitate sul desktop mentre sono in esecuzione in Azure. Puoi pensarlo come un approccio simile a strumenti come il  supporto macOS di Parallels per Windows , con le app di Windows nel Dock di macOS.

WSL 2 è un componente importante di Windows 10, che aiuta Microsoft a riportare gli sviluppatori sui PC Windows. L’integrazione delle applicazioni GUI di Linux con il desktop di Windows dovrebbe renderlo ancora più attraente, soprattutto se può essere fornito senza problemi, senza richiedere driver specifici per l’hardware aggiuntivi. Più è facile, meglio è. Con un pubblico previsto che desidera solo scrivere codice, abbattere senza problemi le barriere tra Windows e Linux è essenziale per il suo futuro.

ARTICOLI COLLEGATI:

ULTIMI ARTICOLI: