Formalmente, il Sottosistema Windows per Linux (WSL) veicolato da Windows 10 consente di eseguire solamente programmi per il terminale. Installando un display server appropriato, però, possiamo liberarci da questa limitazione e lanciare anche programmi ad interfaccia grafica (GUI) per Linux senza bisogno di abbandonare il desktop di Windows. Vediamo come procedere.
Prima di iniziare, è importante notare che questa guida è per Windows 10. I PC dotati di Windows 11 possono invece sfruttare la modalità nativa, chiamata WSLg. Ne abbiamo parlato nello specifico qui:
Passo 1: installare WSL
Come primissimo passo è necessario installare il Sottosistema Windows per Linux (WSL) e sincerarsi che la shell Bash e il resto dell'ambiente di lavoro siano funzionanti. La guida completa è qui:
Passo 2: installare "Xming"
Per consentire all'ambiente Linux in esecuzione sotto Windows 10 di mostrare le finestre delle applicazioni grafiche è necessario installare un display server di terze parti sul sistema operativo Windows. Procediamo quindi a scaricare Xming da qui e completiamo il setup cliccando ripetutamente su Avanti
, conservando sempre le opzioni proposte di default.
Da ricordare: in caso Xming non risultasse soddisfacente, VcXsrv è una valida alternativa.
Al termine dell'installazione, l'icona di Xming appare nell'Area di notifica
Il componente deve essere già in esecuzione prima di avviare applicazioni grafiche per Linux. Quando non serve, possiamo però chiuderlo tranquillamente con un doppio click sull'icona, seguito da conferma
In seguito, alla bisogna, dovremo avviarlo in questo modo:
- localizzare il suo collegamento cercando
xming
nel menu Start - cliccare quello chiamato
Xming
- l'altra scelta,Xming launch
, apre l'utility di configurazione
Passo 3: esportare la variabile "display"
Ora aprite Bash e lanciate questi due comandi (uno dopo l'altro, facendo attenzione a rispettare le maiuscole):
export DISPLAY=:0.0
echo "export DISPLAY=:0.0" > > $HOME/.bashrc
In maniera molto sommaria, basti sapere che rendono disponibile all'ambiente Linux una variabile di nome DISPLAY
, valorizzata con le informazioni necessarie a mostrare l'interfaccia grafica sullo schermo dell'utente. Il primo comando è per la sessione corrente, mentre il secondo fa sì che venga eseguito automaticamente ad ogni apertura di Bash successiva.
Passo 4: installazione di applicazioni grafiche per Linux
Ora possiamo installare e lanciare applicazioni ad interfaccia grafica.
Per prima cosa, aggiorniamo i repository:
sudo apt update
Ora sia davvero pronti!
Per la nostra prima prova, installiamo la versione GUI dell'editor di testo VIM:
- installare con
sudo apt install vim-gtk -y
- eseguire con
gvim
Procediamo con Geany, un apprezzato editor indirizzato ai programmatori (IDE):
- installare con
apt install geany -y
, - eseguire con
geany
Per aumentare un po' la difficoltà ed entrare nel campo degli strumenti che possono realmente risultare utili nel quotidiano passiamo ad eseguire la versione originale per Linux del programma di fotoritocco GIMP:
- installare con
sudo apt install gimp -y
- avviare con
gimp
Un'altra idea interessante è installare Firefox ed utilizzare il browser web dall'ambiente Linux. Così facendo, ci si ritroverà immediatamente al sicuro da tutti i malware assortiti studiati per colpire Windows durante la navigazione:
- installare con
sudo apt install firefox -y
- eseguire con
firefox
Attivando la sincronizzazione (≡ -> Sign in to sync
) diviene molto pratico allineare i preferiti, la cronologia e le password con la controparte installata sul PC Windows, semplificando enormemente il passaggio fra un ambiente di lavoro e l'altro
Passo 5: Avviare programmi Linux tramite collegamento
Una volta installate, le applicazioni Linux possono essere avviate direttamente dall'ambiente Windows tramite un collegamento. Per maggiori info, vedi il paragrafo Passo 8: lanciare programmi Ubuntu da Windows
della nostra guida a WSL.
Come unica complicazione, è necessario esplicitare la variabile DISPLAY
prima del comando da eseguire: per Firefox, ad esempio, creeremo il collegamento a bash -c "DISPLAY=:0.0 firefox"
, per Gimp useremo bash -c "DISPLAY=:0.0 gimp"
e via dicendo
Per i più efficienti, che volessero lanciare automaticamente Xming prima e un programma Linux subito dopo avviando un solo collegamento, ho sviluppato al volo uno script Batch che svolge esattamente questo compito. Procedere così:
- scaricare questo archivio: Avvia xming e programma WSL.zip
- estrarre il contenuto in una cartella a piacere
- fare click con il pulsante destro del mouse sul file
Avvia xming e programma WSL.bat
e scegliereCrea collegamento
dal menu contestuale - fare click con il pulsante destro del mouse sul collegamento appena creato e scegliere
Proprietà
- spostarsi alla scheda
Collegamento
- individuare il campo
Destinazione
e accodare il nome del programma Linux da lanciare in fondo al testo preesistente (fuori dalle virgolette) - ad esempio:"C:\Users\info\Desktop\Avvia xming e programma WSL.bat" firefox
- confermare con
OK
- assegnare al collegamento un nome significativo, che indichi chiaramente quale programma Linux lancerà
Detto collegamento, una volta lanciato, avvierà automaticamente Xming prima e, subito dopo, il programma Linux indicato.
Affinché lo script funzioni correttamente è necessario che:
- Xming sia stato installato nel percorso di default, ovvero
C:\Program Files (x86)\Xming\Xming.exe
- il programma Linux da avviare sia stato preventivamente installato come indicato ai passi precedenti
Passo 6: Mantenere tutto aggiornato
Se usate in maniera continuativa tali programmi (Firefox o qualsiasi altro browser web, in particolare) non dimenticatevi di installare periodicamente gli aggiornamenti di sicurezza! Farlo da shell Bash è semplicissimo:
sudo apt update
(aggiorna la lista dei pacchetti disponibili)sudo apt full-upgrade -y
(scarica e installa le nuove versioni dei pacchetti)
Cosa aspettarsi?
In questo articolo abbiamo visto come eseguire le applicazioni ad interfaccia grafica native per Linux sfruttando il Sottosistema Windows per Linux di Windows 10.
Purtroppo, non tutti i programmi funzionano: l'editor Kate e il programma di fotoritocco Krita, ad esempio, non sono partiti correttamente sul mio sistema di test. È quindi necessario provare individualmente con i singoli software desiderati e... incrociare le dita.
Andare oltre: installare il desktop Ubuntu completo
Rimane ancora un'idea da sperimentare per i più intraprendenti: usare la tecnica appena proposta per eseguire un intero ambiente desktop (DE) all'interno di una finestra di Windows 10
L'idea, lanciata su Github, ha raccolto un discreto seguito e alcuni utenti confermano di aver raggiunto il risultato. Il beneficio concreto, però, è discutibile: si finisce infatti per appesantire il sistema con un ambiente desktop aggiuntivo, quando basterebbe utilizzare il menu Start e quale collegamento ai programmi Linux più utilizzati per ottenere un risultato analogo in maniera molto più "leggera".
Ad ogni modo: io ci ho provato senza raggiungere i risultati sperati: chi volesse cimentarsi, trova qui la procedura passo passo (in inglese) che ho svolto, insieme agli errori che mi hanno bloccato.