Eseguire programmi Linux su Windows, anche con interfaccia grafica

WSL 2 (Sottosistema Windows per Linux 2) di Windows 10 e Windows 11 permette di eseguire anche i programmi Linux in modalità grafica, sia in finestra che a tutto schermo. Ecco come fare.

Con il rilascio di Windows 10 versione 2004 a maggio 2020 Microsoft ha introdotto nel suo sistema operativo Windows Subsystem for Linux 2 (WSL 2) ovvero la seconda versione del Sottosistema Windows per Linux, un componente che avvicina ancora di più la piattaforma closed-source con il pinguino.

Grazie a WSL gli utenti di Windows possono installare nel sistema operativo Microsoft le principali distribuzioni Linux ed eseguire i vari comandi da un’apposita finestra bash.

Abbiamo già visto come, quando e perché usare Linux in Windows ed abbiamo spiegato come installare WSL in Windows scaricando quindi una distribuzione Linux dal Microsoft Store. Abbiamo anche presentato i principali comandi per aggiornare la distribuzione e i pacchetti software via a via aggiunti.

WSL è stata confermata anche in Windows 11 e come accade con la precedente versione del sistema operativo il componente è installabile premendo Windows+R, digitando optionalfeatures e spuntando la casella Sottosistema Windows per Linux.

Le distribuzioni Linux installabili con WSL in Windows 10 e Windows 11 funzioneranno per impostazione predefinita da riga di comando. Con WSL è tuttavia possibile avviare anche programmi Linux dotati di interfaccia grafica.
Con l’avvento di WSLg la possibilità è direttamente supportata da Microsoft e non è più necessario ingegnarsi con la configurazione di un X-Server locale.

Eseguire programmi Linux in Windows 11 con la loro interfaccia grafica

Con il lancio di Windows 11 Microsoft ha deciso di portare al debutto una versione di WSL che si installa e si aggiorna attraverso il Microsoft Store.
In futuro WSL si separerà da Windows, non sarà più installabile attraverso la finestra Funzionalità Windows (optionalfeatures) e viceversa sarà prelevabile dal Microsoft Store.

Per avviare programmi Linux con interfaccia grafica in Windows 11 basta seguire alcuni semplici passaggi:

1) Assicurarsi di aver aggiornato alla versione stabile di Windows 11.
2) Scaricare WSL dal Microsoft Store facendo riferimento alla pagina al momento riservata ai soli utenti di Windows 11.
3) Installare almeno una distribuzione Linux dal Microsoft Store, ad esempio Ubuntu.
4) Avviare Ubuntu dal menu Start di Windows 11 impostando una password per l’utente root.
5) Digitare sudo apt update && sudo apt upgrade -y.
6) Installare un qualunque programma Linux dotato di interfaccia grafica. Qualche esempio:

sudo apt install gimp -y
sudo apt install gedit -y
sudo apt install nautilus -y

sudo apt install libreoffice -y && sudo apt install libreoffice-l10n-it -y && sudo apt install libreoffice-help-it -y

Digitando semplicemente il nome del programma nella finestra di Linux, questo apparirà immediatamente in finestra in ambiente Windows.

Come si vede nell’immagine la finestra di LibreOffice è stata aperta da Ubuntu eseguito in Windows con WSL. Tutt’intorno spiccano l’interfaccia di Windows 11 e le altre finestre contemporaneamente aperte.

Per creare un collegamento a una specifica applicazione Linux dotata di interfaccia grafica basta usare la seguente sintassi:

wslg -d Ubuntu-20.04 nautilus

Al posto di Ubuntu-20.04 va indicato il nome della distribuzione Linux gestita con WSL (si legge con il comando wsl --list -v impartito al prompt aperto con i diritti di amministratore).
La stringa nautilus va ovviamente sostituita con il nome del programma Linux da eseguire.

Il comando wslg può essere sfruttato per creare un collegamento sul desktop di Windows o nel menu Start a qualunque programma Linux.

Avviare programmi Linux in Windows 10 usando la loro interfaccia grafica: come preparare “il terreno”

In attesa che WSLg venga portato al debutto anche in Windows 10, è possibile avviare programmi Linux dotati di interfaccia grafica in questo sistema operativo utilizzando un semplice trucco.

Per avviare i programmi Linux in Windows 10 usando una GUI (Graphic User Interface) è fondamentale che essi siano a 64 bit perché WSL non supporta il caricamento e l’esecuzione di applicazioni a 32 bit.

Le applicazioni Linux dotate di interfaccia grafica necessitano della presenza di un X server che, nelle normali distribuzioni, si occupa del rendering del desktop e degli elementi che compongono ogni programma.

Dopo aver installato e configurato WSL 2 come spiegato nell’articolo sulla configurazione di Linux in Windows con WSL si può innanzi tutto aggiornare la distribuzione Linux.
Nel caso di Ubuntu e derivate si può usare il comando sudo apt update && sudo apt upgrade -y.

Installazione del server RDP per chi volesse collegarsi con Desktop remoto e di un ambiente desktop

È bene quindi provvedere all’installazione di alcune utilità che consentiranno anche di collegarsi in modalità Desktop remoto alla distribuzione Linux installata in WSL. Nel caso di Ubuntu e derivate si può digitare quanto segue:

sudo apt -y install build-essential
sudo apt -y install net-tools
sudo apt -y install xrdp -y && sudo systemctl enable xrdp

xrdp è un’implementazione opensource del server di Desktop remoto Microsoft: essa consente di collegarsi a sistemi operativi diversi da Windows con un’esperienza desktop simile a quella ottenibile sulla piattaforma Microsoft.

Con i comandi che seguono, invece, si installerà l’ambiente desktop xfce4 in Ubuntu (pacchetto xubuntu-desktop) insieme con le librerie gtk2. Si potranno però scegliere altri desktop environment come ad esempio mate:

sudo apt -y install tasksel
sudo tasksel install xubuntu-desktop
sudo apt -y install gtk2-engines

A questo punto è opportuno configurare la distribuzione Linux in maniera tale che possa collegarsi all’X server su Windows. La procedura è semplice e consiste nel digitare quanto segue:

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2; exit;}'):0
export LIBGL_ALWAYS_INDIRECT=1
sudo /etc/init.d/dbus start &> /dev/null

Digitando printenv DISPLAY si leggerà l’IP locale che verrà utilizzato da Linux per colloquiare con l’X server installato in Windows sulla stessa macchina. Consigliamo di attenersi alla procedura indicata perché con WSL 2 le modalità di gestione degli IP locali è cambiata e le istruzioni valide per WSL non sono più applicabili.
Lo stesso IP può essere letto in ambiente Windows digitando quanto segue al prompt dei comandi:

netsh interface IPv4 show addresses "vEthernet (WSL)"

vEthernet (WSL) è infatti il nome dell’interfaccia di rete virtuale assegnata alle macchine virtuali Linux eseguite con WSL 2.

Installare X server su Windows 10

Per installare un X server in ambiente Windows, suggeriamo di utilizzare VcXsrv scaricandone l’ultima versione disponibile.

Avviando XLaunch dal menu Start di Windows 10 si potrà eseguire l’X server VcXsrv.
L’installazione può avvenire accettando le impostazioni predefinite. In particolare, nella finestra Select display settings, si può scegliere Multiple windows.

In quella successiva (How to start clients), si può lasciare selezionata l’opzione Start no client quindi fare clic su Avanti.

Infine, nella finestra Extra settings, si possono accettare tutte le impostazioni facendo clic sul pulsante Avanti. Spuntare tutte le caselle proposte compresa l’ultima ovvero Disable access control.

Alla comparsa della finestra di Windows Firewall si dovranno spuntare entrambe le caselle Reti private e Reti pubbliche cliccando su Consenti accesso.

A questo punto si può tornare nella finestra di WSL e scrivere quanto segue per installare un’applicazione dotata di interfaccia grafica:

sudo apt -y install firefox

Digitando quindi firefox e premendo il tasto Invio, in questo caso il browser Firefox si aprirà in una finestra Windows e mostrerà la sua icona nella barra delle applicazioni di Windows 10.

Nell’esempio in figura abbiamo provato ad avviare gvim, versione dotata di interfaccia grafica del noto editor di testo opensource. Come si vede, gvim viene aperto in Windows come qualunque altra finestra e la sua icona appare nella barra delle applicazioni del sistema operativo Microsoft.

Provate anche a digitare
sudo apt install hardinfo
quindi hardinfo.

In caso di problemi, suggeriamo di utilizzare il comando sudo apt update per scaricare informazioni aggiornate su tutti i pacchetti disponibili.

Eseguire l’ambiente desktop xfce4 da Windows 10

Dopo aver chiuso X server, si può provare a riavviarlo quindi a selezionare l’opzione Fullscreen anziché Multiple windows: si otterrà una schermata completamente nera.

Premere ALT+TAB per tornare alla riga di comando di WSL 2 quindi digitare:

xfce4-session

Premendo di nuovo ALT+TAB e selezionando X Server si passerà al desktop di xfce4.

Ve lo sareste mai immaginato fino ad appena qualche anno fa? Basti pensare che Microsoft è entrata nella Open Source Initiative come premium sponsor ed è ad esempio seduta in Linux Foundation come membro a tutti gli effetti.

In un altro articolo ci siamo ingegnati a realizzare una procedura per creare un collegamento alle applicazioni Linux cliccabile ad esempio dal desktop o dal menu Start di Windows.

Ti consigliamo anche

Link copiato negli appunti