“Questo è l’anno di Linux su desktop” è uno dei più vecchi, famosi e iconici meme dell’intera cultura informatica su internet.
Un tormentone satirico che ironizza sull’ottimismo eterno della comunità di utenti Linux, la quale dichiara regolarmente, da oltre vent’anni, che l’anno corrente sarà quello in cui il sistema operativo open source supererà Windows e macOS, conquistando la massa dei personal computer.
Sì, perché nonostante Linux sia quasi ovunque, dai server che permettono a internet di esistere fino alla tua lavatrice, la penetrazione sul mercato dei computer desktop è bassissima.
Qualcosa per nerd insomma, infatti il meme nasce dal fatto che, spesso e volentieri, l’utente Linux deve sporcarsi le mani con il terminale e passare dalla grafica a finestre punta e clicca a un’interfaccia a caratteri che ricorda gli anni ’70. Per l’utente comune e per l’ufficio medio, il terminale non è mai stato percepito come potenza, ma come attrito.
Se nel primo decennio degli anni 2000 l’utente Linux apriva il terminale soprattutto per risolvere problemi causati dalla scarsa compatibilità hardware, oggi, che funziona quasi sempre tutto dal primo avvio dopo l’installazione, lo usa esclusivamente per essere più efficiente.
Nonostante Windows, a confronto, sembri sempre più il sistema operativo Clementoni, il lock-in tecnologico, la pigrizia e la paura del diverso hanno fatto preferire una (finta) ergonomia colorata a sistemi operativi più seri che fanno tutto ciò che l’utente vuole, senza troppi fronzoli luccicosi e senza alcun limite.
Un compromesso l’ha creato Apple, che con macOS ha sfruttato l’imbarazzante inadeguatezza di Windows e l’ancora acerba esperienza ergonomica delle distribuzioni Linux dei primi anni 2000 per penetrare prepotentemente sul mercato con un OS che funziona (facile quando gira solo su computer costruiti ad hoc) e che allo stesso tempo mette a disposizione dell’utente la potenza di un sistema unix-like.
Microsoft per un po’ è rimasta a guardare, poi sotto la guida di Satya Nadella ha corretto il tiro mettendo a disposizione degli utenti Windows un sotto-sistema Linux (WSL) cercando di recuperare il gap tecnologico accumulato negli anni. È l’era del “Microsoft loves Linux”.
Oggi però sono arrivati gli LLM e, soprattutto, gli agenti: tu descrivi l’obiettivo in linguaggio naturale, loro eseguono le operazioni necessarie sul computer. Una svolta epocale, di fatto, per molti, la nuova rivoluzione industriale. Ed è qui che la storia si ribalta: almeno al momento, gli agenti sono molto più bravi ed efficienti con le interfacce a caratteri, quindi con il terminale, che con le GUI punta e clicca.
Questo significa che l’OS più diffuso nel mondo del desktop “produttivo”, Windows appunto, tutto d’un tratto si ritrova a essere l’ambiente meno preferito dagli agenti AI.
Anche Windows, oltre al WSL citato prima, ha una sua interfaccia a caratteri, anzi due: l’ormai obsoleto Prompt Dei Comandi (cmd.exe) e il più recente PowerShell.
PowerShell è figlio dell’era moderna, è un linguaggio di scripting complesso che tratta i dati come oggetti .NET. Potente ma pesante e soprattutto costoso per gli LLM.
Gli interpreti e i comandi disponibili nel terminale Linux (e *nix in generale) sono figli della filosofia KISS degli anni ’70: Keep It Simple Stupid, piccoli programmi che fanno una sola cosa e la fanno bene.
Inoltre, come accennavo prima, la sintassi PowerShell è verbosa e quindi in termini di token (le “parole” che l’AI deve gestire, perdonate la semplificazione) è meno efficiente.
Estrarre i nomi che iniziano per la lettera “A” e ordinarli in ordine alfabeto si traduce con:
Linux:
grep "^A" nomi.txt | sort
Windows:
Get-Content nomi.txt | Where-Object { $_ -like 'A*' } | Sort-Object
Trova i processi che occupano più di 100MB di RAM:
Linux:
ps aux | awk '$6 > 102400' | sort -rnk6
Windows:
Get-Process | Where-Object { $_.WorkingSet -gt 100MB } | Sort-Object -Property WorkingSet -Descending
Sono solo alcuni semplici esempi, ma in un task reale gli agenti ne fanno centinaia di queste operazioni.
A precindere dall’efficienza dei token, ci sono anche altri motivi per cui gli agenti AI preferiscono Linux:
- Abbondanza e qualità dei dati di addestramento: i modelli linguistici sono addestrati su enormi repository di codice e forum tecnici.
La stragrande maggioranza del software open source, dei server web e delle pipeline di programmazione è documentata e utilizzata tramite Bash. - Meno ambiguità: poiché Bash esiste da decenni con una sintassi universale, l’LLM ha una comprensione statistica dei comandi immensamente più solida e accurata rispetto a PowerShell, che ha subito grandi cambiamenti nel passaggio dalla versione Windows-only a quella open-source (Core).
- Integrazione con altri ecosistemi e linguaggi: Python, Go, Ruby, PHP, Perl, Node, ecc, sono tutti linguaggi comuni su Linux, se mancano basta installarli con un comando breve, di 2 sole parole. L’agente lo sa, e li usa quando servono.
Windows ha recuperato molto negli ultimi anni, ma è ancora lontano dal mondo dello sviluppo che non sia .NET. Gli interpreti dei linguaggi sono tutti installabili, ma con più fatica in quanto non reperibili da un’unica fonte, spesso attraverso layer aggiuntivi e configurazioni meno uniformi. - Tooling: oltre ai linguaggi, l’agente sa usare molto bene le GNU Core Utilities come cat, grep, sort, cut, head, tail, ecc. Il loro vantaggio principale è che sono stream-oriented e permettono di operare anche su file enormi senza caricarli interamente in memoria. Inoltre sono strumenti componibili, leggono input, producono output testuale e si collegano naturalmente tramite pipe. Per un agente AI questo significa poter costruire procedure robuste con pochi comandi semplici.
- Container e sandboxing: Linux supporta in maniera nativa i container, utilissimi all’agente per eseguire codice e programmi in ambienti controllati; Windows è costretto a farlo in una macchina virtuale con un overhead prestazionale enorme. Anche gli strumenti di isolamento (sandboxing) sono nativi e più avanzati in ambiente Linux.
Tutto ciò non implica che gli agenti non possano essere utilizzati su Windows, anzi, più o meno tutti (OpenCode, Codex, Claude Code, Claude Cowork, Antigravity, ecc), hanno una versione per Windows, ma inevitabilmente risultano meno performanti e più costosi in termini di token e quindi anche in termini economici.
Questo si traduce nel fatto che su Windows se usi l’agente in modalità API spenderai più soldi, in modalità subscription raggiungerai i limiti giornalieri, settimanali, ecc più in fretta.
Infine, in conseguenza delle dinamiche collaterali a quanto finora esposto, anche la qualità del lavoro dell’agente ne risente perché le finestre di contesto si allungano e quindi è costretto a riassumerle perdendo dettagli.
Se su Windows è però installato WSL (il sotto-sistema Linux), l’agente ha la capacità di usarlo recuperando in questo modo un po’ di gap tecnologico – ringraziate Satya Nadella per questo bel regalo!
Se tale gap è recuperabile dall’agente, non lo è però, o almeno non alla stessa velocità, dall’utente che potrebbe non avere la capacità di accorgersi che l’agente ha preso una strada poco conveniente o potrebbe non riuscire a intervenire tempestivamente in caso di errore o, ancora, potrebbe approvare ciecamente comandi proposti non comprendendoli.
In sostanza, si crea un pericoloso gap cognitivo tra l’utente Windows e l’agente che usa WSL. Sono convinto che il vero limite, su Windows, non sia solo tecnico ma culturale: per pilotare al meglio un agente AI moderno serve comunque una certa familiarità con il mondo Linux.
Chi invece Linux l’ha sempre utilizzato e si trova a proprio agio sui sistemi *NIX ha ora un enorme vantaggio competitivo: conosce l’ecosistema in cui l’agente si muove meglio e può fare steering, prompt dopo prompt, guidandone le scelte e modellandone finemente il comportamento, invece di limitarsi a fidarsi dell’AI.
Forse l’anno di Linux sul desktop è arrivato davvero, ma non nel modo in cui lo avevamo immaginato.

