Clicca per il Menu:

Windows Subsystem Linux (WSL) un'integrazione tra Windows e Linux: prova e commento

 

Una delle novità più interessanti di Windows 10  (64 bit) a partire dalla versione 1607 è la possibilità di far girare un ambiente GNU/Linux direttamente sul suo desktop. Si tratta dello Windows Subsystem for Linux (WSL). In rete si trovano molte informazioni sulle modalità di installazione e configurazione di WSL, quindi non mi dilungherò troppo su questi aspetti se non sui punti un po' critici. Quest'articolo si basa su una installazione Ubuntu 18.04 con ambiente DE MATE e XFCE4.

Questa possibilità offerta da Microsoft con indubbio peso sull'annosa diatriba tra i due sistemi operativi, è stata pensata per favorire gli sviluppatori. Tuttavia offre uno spazio notevole all'utente misto Linux/Windows nell'uso quotidiano di un computer desktop. Per far girare l'ambiente WSL occorre qualche dote di conoscenza un pò più approfondita di Windows e una un po' avanzata su Linux. Bisogna distinguere subito dall'installazione di una distro Linux minimale, praticamente solo con shell per i comandi e una installazione più adatta per un desktop, cioè la possibilità di far girare applicativi con GUI (interfaccia grafica) e non solo. L'installazione minimale richiede i passi descritti in modo chiaro nella documentazione ufficiale di Microsoft. E' preferibile usare l'opzione da powershell con riga di comando e installare la distro Linux gradita direttamente dallo Windows store.  Alla fine avrete un'icona colorata con il pinguino nel menu start e da cui far apparire la shell di Linux che chiederà di settare un account per Linux, come descritto QUI . A questo punto un utente Linux sa cosa fare, deve solo considerare che sta in una distribuzione Linux nella quale necessario operare da riga di comando, compresa l'azione primaria di aggiornare il sistema (in Ubuntu il solito 'sudo apt-get update' seguito da 'sudo apt-get upgrade'). Importante sapere che nella shell vedrete le directory del vostro Windows e anche di altri dischi formattati con FAT o NTFS sotto la directory di Linux '/mnt/<nome_drive>' (ad esempio: /mnt/c) e da lì tutte le sottodirectory di Windows. Ed il contario? Cioè le directory di Linux sotto Windows?  Queste staranno (esempio Ubuntu) sotto il lungo percorso 'C:\Users\<nomeutente>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\'. Questo è utile da sapere in caso di scambio files tra i sistemi. I programmi sotto Linux saranno installati da riga di comando secondo le stesse procedure e necessità dell'utente. Ma è possibile installare un DE per la distro Linux o comunque avere un ambiente Linux in grado di lanciare le sue GUI (interfacce grafiche)? Per fare questo sarà necessario non solo installare sempre da riga di comando il DE ma anche  configurare un server X in Windows e per il multimediale anche un server in Windows per l'audio. Anche qui in rete si trovano molte informazioni. Per il server grafico si può scegliere tra X410 su Windows Store (a pagamento) o altri come VcXsrv oppure MobaXterm. VcXsrv, una volta installato, è meglio lanciarlo da powershell con il comando '& ‘C:\Program Files\VcXsrv\vcxsrv.exe' -wgl -dpi auto -ac -multiwindow'. Se qualcosa non va togliete l'opzione '-wgl'. Il problema resta comunque l'ambiente DE di Linux da installare per entrare appieno nell'ambiente grafico. Forse quelli che funzionano meglio come grafica sono XFCE4 e MATE, con una preferenza per il primo. Nella shell di Linux editare poi ed inserire nel file nascosto .bashrc una riga con 'export DISPLAY=:0.0' e anche una riga con 'export PULSE_SERVER=tcp:localhost' (che ci servirà per l'audio). A questo punto se lanciamo la sessione del DE nella shell Linux con 'startxfce4' o 'mate-session' (altri DE hanno bisogno di altri comandi) apparirà a schermo intero la distro Linux completa di grafica. Manca ora pulseaudio server per Windows. Una volta scompattato il file compresso, è necessario fare modifiche ai suoi file di configurazione, secondo queste indicazioni. Per facilitare il tutto ho predisposto in download la cartella compressa con i files già modificati e configurati. Mettere poi la cartella sotto 'C:\Program Files (x86)\' e fare eventualmente un collegamento sul desktop di bin\pulseaudio.exe per comodità. Al lancio usciranno degli errori ma l'audio funziona lo stesso. Un'altra cosa utile è installare in Windows una shell compatibile con tool come 'dialog' per Linux se serve far girare graficamente 'script'  creati per Linux. Si può usare il tool wsltty. Una volta installata l'ultima versione appariranno delle icone di lancio direttamente per la vostra distribuzione. Settando la shell (tasto destro mouse-->options-->text) con 'Locale' ad 'it-It' e 'character' a 'ISO-8859-15' si otterrà una buona compatibilità (ad esempio per le lettere accentate). Infine per provare il tutto sarà sufficiente aprire un browser nella shell di Linux e vedere un qualsiasi video youtube con tanto di audio. Per lanciare dalla shell Linux un applicativo di Windows bisogna creare un 'alias' nel file .bashrc  (directory home dell'utente) di Linux con il percorso al file .exe . Ad esempio: alias <nome app>='/mnt/c/Program\ Files/<nome app>/<nome file>.exe'

A questo punto la domanda è: conviene installare un ambiente WSL?  Partendo dal presupposto che volete lavorare con i due sistemi operativi senza fare un dual boot e mettendolo a confronto con l'alternativa di una macchina virtuale con Linux guest, i punti a favore di WSL sono:

1) Microsoft ha realizzato un buon tool (e gratis!) per far convivere in modo efficiente i due sistemi in un ambiente unico;

2) è relativamente facile configurarlo e praticamente installa da solo una distro Linux seppure minimale;

3) avrete la possibilità di lanciare applicativi Linux direttamente da riga di comando sul desktop di Windows (in pratica da shell Linux scrivendo ad esempio 'pluma' avrete un text editor sulla scrivania di Windows)

4) WSL è in continua evoluzione, tanto che è stato annunciato addirittura un WSL2 con kernel Linux integrato in Windows!


I punti a sfavore sono:

1) limitazioni nell'uso come ad esempio stampanti USB non rilevate;

2) non sempre tutto il software per Linux gira in modo fluido e senza problemi;

3) lato sicurezza, cosa da non sottovalutare, WSL non garantisce una separazione tra ambienti tipici di una macchina virtuale ben configurata ed addirittura sembra aver dato spazio già a  pericolosi malware dedicati .


CONCLUSIONI

L'ambiente WSL fornisce il meglio di se con la shell Linux e i comandi da riga di comando sia per gestire Linux ma anche per lanciare i programmi di questo sistema operativo nella scrivania di Windows 10 con o senza GUI. Se si passa però ad emulare un ambiente Linux completo con DE grafico a tutti gli effetti, il risultato è tutto sommato uguale se non inferiore ad un sistema guest Linux su macchina virtuale, anche se le risorse hardware richieste sono  minori

Di seguito due screenshot che fanno vedere gli effetti dell'uso di WSL.  Notare come in entrambi i casi resta visibile il pannello inferiore di Windows con le icone dei programmi, sia quelli di Windows che quelli di Linux. Nel primo si vede Un DE completo a tutto schermo di XFCE4 con aperte finestre di Linux insieme alle finestre di Windows:

 

In quest'altro, al contrario, si vede il desktop di Windows con aperto il text editor 'pluma'  lanciato direttamente con un terminale (wsltty) mentre restano aperte le finestre di Windows:

 

Privacy Policy