{"id":3673,"date":"2026-04-02T04:49:18","date_gmt":"2026-04-02T02:49:18","guid":{"rendered":"https:\/\/it.davidka.net\/it\/?p=3673"},"modified":"2026-04-02T04:49:20","modified_gmt":"2026-04-02T02:49:20","slug":"wsl-linux-su-windows","status":"publish","type":"post","link":"https:\/\/it.davidka.net\/it\/itwsl-linux-su-windows\/","title":{"rendered":"WSL: Linux su Windows"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Vuoi usare gli strumenti di Linux (Docker, Python, Node.js) senza uscire da Windows? Ecco <strong>WSL<\/strong> (Windows Subsystem for Linux). Si tratta di un vero kernel Linux che gira in parallelo al tuo sistema principale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Prima di iniziare, controlla il BIOS del tuo computer. La <strong>virtualizzazione<\/strong> (VT-x o AMD-V) deve essere abilitata. Senza questa opzione, Linux non si avvier\u00e0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Scopriamo come configurare entrambi i sistemi per farli lavorare insieme in modo fluido.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div id=\"rtoc-mokuji-wrapper\" class=\"rtoc-mokuji-content frame2 preset1 animation-fade rtoc_open default\" data-id=\"3673\" data-theme=\"Neve - Davidka\">\n\t\t\t<div id=\"rtoc-mokuji-title\" class=\"rtoc_btn_none rtoc_left\">\n\t\t\t\n\t\t\t<span>In Questo Articolo<\/span>\n\t\t\t<\/div><ol class=\"rtoc-mokuji decimal_ol level-1\"><li class=\"rtoc-item\"><a href=\"#rtoc-1\">1. Controllo dello stato<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-2\">2. Installazione<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-3\">3. Configurazione utente<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-4\">Come creare un utente:<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-5\">4. Dove salvare il codice<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-6\">5. Stack di sviluppo<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-7\">Python (venv)<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-8\">Node.js (NVM)<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-9\">6. Integrazione<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-10\">VS Code<\/a><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-11\">Docker<\/a><\/li><\/ul><\/li><li class=\"rtoc-item\"><a href=\"#rtoc-12\">7. Promemoria rapido<\/a><ul class=\"rtoc-mokuji mokuji_ul level-2\"><li class=\"rtoc-item\"><a href=\"#rtoc-13\">Workflow:<\/a><\/li><\/ul><\/li><\/ol><\/div><h2 id=\"rtoc-1\"  class=\"wp-block-heading\">1. Controllo dello stato<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Prima di iniziare, verifica lo stato attuale del sistema in PowerShell:<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">wsl -l -v<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><code class=\"\" data-line=\"\">wsl -l -v<\/code> restituisce l&#8217;elenco delle distribuzioni installate:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Risposta vuota:<\/strong> nessuna distribuzione installata.<\/li>\n\n\n\n<li><strong>Ubuntu:<\/strong> Linux \u00e8 gi\u00e0 installato.<\/li>\n\n\n\n<li><strong>docker-desktop \/ docker-desktop-data:<\/strong> distribuzioni tecniche per Docker Desktop.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u26a0\ufe0f Nella colonna VERSION deve esserci il numero <strong>2<\/strong>. Se vedi 1, aggiorna la distribuzione con il comando <code class=\"\" data-line=\"\">wsl --set-version Ubuntu 2<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-2\"  class=\"wp-block-heading\">2. Installazione<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se Linux non \u00e8 installato, apri PowerShell come amministratore e digita:<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">wsl --install<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il sistema preparer\u00e0 Ubuntu. Al termine, <strong>riavvia il computer<\/strong> per completare la configurazione del kernel.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-3\"  class=\"wp-block-heading\">3. Configurazione utente<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Al primo avvio, WSL ti chieder\u00e0 di creare un utente. Se nel terminale vedi <strong><code class=\"\" data-line=\"\">root@NOME_PC<\/code><\/strong>, \u00e8 normale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Root serve per le impostazioni di sistema; crea un utente separato per lo sviluppo.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nota \u26a0\ufe0f: Il simbolo della tilde <strong><code class=\"\" data-line=\"\">~<\/code><\/strong> rappresenta il percorso della home directory. Per <strong>root<\/strong> \u00e8 <code class=\"\" data-line=\"\">\/root<\/code>, per un utente normale \u00e8 <code class=\"\" data-line=\"\">\/home\/tuo_nome_utente<\/code>. Se crei i progetti come root, avrai problemi di permessi in VS Code. Il comando <code class=\"\" data-line=\"\">cd ~\/projects<\/code> porter\u00e0 in posizioni diverse per root e per un utente normale.<\/p>\n\n\n\n<h3 id=\"rtoc-4\"  class=\"wp-block-heading\">Come creare un utente:<\/h3>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\"># Crea l&#039;utente tuo_nome_utente\nadduser tuo_nome_utente\n# Assegna i privilegi di amministratore (per sudo)\nusermod -aG sudo tuo_nome_utente<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Per fare in modo che WSL si apra sempre con il tuo nome utente, digita questo in <strong>Windows PowerShell<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\"># Sostituisci tuo_nome_utente con il tuo vero nome utente\nubuntu config --default-user tuo_nome_utente<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il terminale ora ti accoglier\u00e0 con: <code class=\"\" data-line=\"\">tuo_nome_utente@NOME_PC:~$<\/code>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-5\"  class=\"wp-block-heading\">4. Dove salvare il codice<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WSL pu\u00f2 accedere ai dischi di Windows (<code class=\"\" data-line=\"\">\/mnt\/c\/<\/code>), ma <strong>non salvare l\u00ec i tuoi progetti<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I file system di Windows e Linux comunicano lentamente tra loro. Tenere i progetti sul disco <code class=\"\" data-line=\"\">C:<\/code> o <code class=\"\" data-line=\"\">D:<\/code> rallenter\u00e0 notevolmente il lavoro con il codice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Il posto corretto:<\/strong> la tua cartella home in Linux.<br>Digita:<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">cd ~\nmkdir projects &amp;&amp; cd projects<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Qui la velocit\u00e0 \u00e8 massima. Per aprire la cartella in Esplora File di Windows: <code class=\"\" data-line=\"\">explorer.exe .<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-6\"  class=\"wp-block-heading\">5. Stack di sviluppo<\/h2>\n\n\n\n<h3 id=\"rtoc-7\"  class=\"wp-block-heading\">Python (venv)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Isola i pacchetti in Linux. Non installare le librerie globalmente; usa gli ambienti virtuali:<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">sudo apt update &amp;&amp; sudo apt upgrade -y\nsudo apt install python3-pip python3-venv -y\n\n# Creazione del progetto\nmkdir mio_progetto &amp;&amp; cd mio_progetto\npython3 -m venv venv\nsource venv\/bin\/activate<\/code><\/pre>\n\n\n\n<h3 id=\"rtoc-8\"  class=\"wp-block-heading\">Node.js (NVM)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Il comando standard <code class=\"\" data-line=\"\">apt install nodejs<\/code> spesso installa una versione obsoleta. Usa <strong>NVM<\/strong> (Node Version Manager):<\/p>\n\n\n\n<pre class=\"wp-block-code line-numbers\"><code class=\" language-python\" data-line=\"\">curl -o- https:\/\/raw.githubusercontent.com\/nvm-sh\/nvm\/v0.39.7\/install.sh | bash\nsource ~\/.bashrc\nnvm install --lts    # Installa l&#039;ultima versione stabile<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-9\"  class=\"wp-block-heading\">6. Integrazione<\/h2>\n\n\n\n<h3 id=\"rtoc-10\"  class=\"wp-block-heading\">VS Code<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Installa VS Code su Windows e l&#8217;estensione <strong>Remote &#8211; WSL<\/strong>. Digitando <code class=\"\" data-line=\"\">code .<\/code> nel terminale Ubuntu, aprirai il progetto nell&#8217;interfaccia Windows, ma il codice verr\u00e0 eseguito all&#8217;interno di Linux.<\/p>\n\n\n\n<h3 id=\"rtoc-11\"  class=\"wp-block-heading\">Docker<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nelle impostazioni di Docker Desktop (<strong>Settings -&gt; Resources -&gt; WSL Integration<\/strong>), abilita la casella accanto a <strong>Ubuntu<\/strong>. Ora puoi gestire i container direttamente dal terminale Linux.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 id=\"rtoc-12\"  class=\"wp-block-heading\">7. Promemoria rapido<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code class=\"\" data-line=\"\">whoami<\/code> \u2014 Controlla se sei root o un utente normale.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">pwd<\/code> \u2014 Percorso completo della cartella corrente.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">wsl --shutdown<\/code> \u2014 (In PowerShell) Arresta completamente Linux per liberare memoria RAM.<\/li>\n\n\n\n<li><code class=\"\" data-line=\"\">cat file.txt | clip.exe<\/code> \u2014 Copia il testo da Linux negli appunti di Windows.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 id=\"rtoc-13\"  class=\"wp-block-heading\">Workflow:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Apri il terminale (<code class=\"\" data-line=\"\">nome_utente@...<\/code>).<\/li>\n\n\n\n<li>Entra nel progetto (<code class=\"\" data-line=\"\">cd ~\/projects\/mia-app<\/code>).<\/li>\n\n\n\n<li>Lancia VS Code (<code class=\"\" data-line=\"\">code .<\/code>).<\/li>\n\n\n\n<li>Profit.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Vuoi usare gli strumenti di Linux (Docker, Python, Node.js) senza uscire da Windows? Ecco WSL (Windows Subsystem for Linux). Si tratta di un vero kernel Linux che gira in parallelo al tuo sistema principale. Prima di iniziare, controlla il BIOS del tuo computer. La virtualizzazione (VT-x o AMD-V) deve essere abilitata. Senza questa opzione, Linux&hellip;&nbsp;<\/p>\n","protected":false},"author":1,"featured_media":3675,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3673","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"_links":{"self":[{"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/posts\/3673","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/comments?post=3673"}],"version-history":[{"count":0,"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/posts\/3673\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/media\/3675"}],"wp:attachment":[{"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/media?parent=3673"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/categories?post=3673"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/it.davidka.net\/it\/wp-json\/wp\/v2\/tags?post=3673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}