Skip to content

Mantenere attiva una distribuzione WSL (keep-alive) ​

Molti utenti che si avvicinano a WSL2 incontrano un "dubbio": ho installato Linux, ma perché una volta chiuso il terminale, dopo un po' si "spegne da solo"? Perché non può restare sempre in esecuzione?

Questo articolo descriverà prima questo fenomeno, poi spiegherà perché Microsoft ha progettato WSL in questo modo e infine mostrerà come avviare una distribuzione Linux mantenuta attiva (keep-alive) con WSL Dashboard.

1. Stato attuale: dopo la chiusura del terminale, Linux si spegne rapidamente da solo ​

Vi è mai capitato questo scenario?

  1. Aprite il terminale di una distribuzione Linux: Linux si avvia automaticamente, senza bisogno di eseguire alcun comando;
  2. Dopo aver chiuso la finestra del terminale, Linux non continua a girare: dopo circa 60 secondi viene spento automaticamente;
  3. Riaprite il terminale e Linux si avvia di nuovo automaticamente, e così via.

NOTE

Il "timeout di inattività" predefinito di WSL2 è di circa 60 secondi: quando nella distribuzione non ci sono processi in esecuzione (ad esempio se avete chiuso tutti i terminali), la macchina virtuale WSL si spegne automaticamente per liberare risorse di sistema come la memoria.

Questo comportamento è la progettazione predefinita di WSL2: non è né un guasto né un errore.

2. Perché Microsoft ha progettato WSL in questo modo? ​

2.1 WSL2 è in sostanza una macchina virtuale leggera ​

WSL2 esegue un kernel Linux completo tramite una macchina virtuale leggera Hyper-V (utility VM). Ogni distribuzione in esecuzione occupa davvero risorse di memoria. Se tutte le distribuzioni restassero residenti in background, eseguire più distribuzioni contemporaneamente sulla stessa macchina sprecherebbe centinaia di MB, se non GB, di memoria, rallentando l'intero sistema.

2.2 La filosofia di progettazione dell'allocazione delle risorse su richiesta ​

La filosofia di progettazione di Windows è "allocare le risorse su richiesta e rilasciarle quando non servono":

  • per la maggior parte degli utenti: aprire il terminale = serve Linux; chiudere il terminale = per ora non serve;
  • solo pochi utenti hanno bisogno che Linux giri 7×24 ore senza interruzioni.

Per questo WSL adotta la strategia "avvio su richiesta, arresto quando inattivo", restituendo automaticamente al sistema risorse come la memoria quando non sono necessarie.

2.3 Analogia: spegnere la luce uscendo dalla stanza ​

Lo "spegnimento automatico in caso di inattività" di WSL è come spegnere la luce uscendo dalla stanza: fa risparmiare energia ed è più efficiente. Ma per chi ha bisogno che "la stanza resti sempre illuminata" è molto scomodo: è proprio da qui che nasce l'esigenza del keep-alive.

TIP

Se avete bisogno che Linux resti in esecuzione in modo permanente (ad esempio per distribuire servizi, eseguire attività pianificate o configurare un server di sviluppo), leggete il prossimo capitolo e usate WSL Dashboard per mantenere attiva la distribuzione.

3. Avviare una distribuzione Linux mantenuta attiva con WSL Dashboard ​

WSL Dashboard offre due semplici modi per mantenere in esecuzione la vostra distribuzione Linux.

Metodo 1: fare clic sul pulsante "Avvia" ​

Nell'elenco "Distribuzioni Linux installate" di WSL Dashboard:

  1. trovate la distribuzione che volete mantenere attiva;
  2. fate clic sul pulsante "Avvia" della riga corrispondente.

Dopo il clic, la distribuzione viene subito riattivata e continua a girare: finché non la fermate voi, non verrà spenta automaticamente per inattività. Questo metodo è adatto agli scenari di keep-alive temporaneo in cui Linux deve restare in esecuzione "adesso".

Metodo 2: selezionare "Avvia automaticamente questa distribuzione all'avvio di Windows." ​

Nell'elenco "Distribuzioni Linux installate" di WSL Dashboard:

  1. fate clic sul pulsante "Impostazioni" della riga della distribuzione interessata per aprire la finestra delle impostazioni;
  2. nella finestra, selezionate "Avvia automaticamente questa distribuzione all'avvio di Windows.";
  3. salvate le impostazioni.

Dopo la selezione, a ogni avvio/accesso di Windows la distribuzione si avvia automaticamente, senza alcuna operazione manuale: il keep-alive parte all'accensione. Questo metodo è adatto agli scenari in cui Linux deve restare online a lungo (come server di sviluppo o servizi residenti).

TIP

  • Serve solo temporaneamente → usate il Metodo 1 (clic su "Avvia");
  • Serve online a lungo → usate il Metodo 2 (selezionare "Avvia automaticamente questa distribuzione all'avvio di Windows.").