Gianclaudio Spena ·
Terminali per Mac: cmux e le alternative a quello di sistema

Il terminale che apri sul tuo computer è un’applicazione come le altre, e si può sostituire. Le alternative non cambiano i comandi che scrivi: cambiano la finestra attorno ai comandi, cioè come sono organizzate le sessioni aperte, come si legge il testo e quali strumenti hai a portata di mano mentre lavori.
Questa guida parte da cmux, un terminale per Mac nato per chi tiene in esecuzione più agenti di intelligenza artificiale contemporaneamente, e poi allarga lo sguardo alle altre applicazioni disponibili. Alla fine trovi anche il motivo per cui, per molte persone, la risposta giusta resta il terminale che hanno già.
Terminale, shell e applicazione: tre cose diverse
Prima di scegliere conviene separare tre parole che nell’uso quotidiano si sovrappongono.
L’applicazione terminale è la finestra: disegna il testo, gestisce le schede, i colori e le scorciatoie da tastiera. Su macOS quella predefinita si chiama Terminale; le alternative di questa guida sostituiscono lei.
La shell è il programma che interpreta ciò che scrivi. Su macOS è zsh, su
molte distribuzioni Linux è bash. È la shell a capire cd, ls o git push.
Il prompt è la riga che compare prima di ogni comando, quella che di solito mostra la cartella corrente. Il suo aspetto dipende dalla shell e dalla sua configurazione, non dall’applicazione.
La distinzione conta per una ragione pratica: cambiare applicazione non cambia i comandi. Tutto quello che sai fare oggi continua a funzionare. E se quello che ti interessa è avere un terminale più bello, molto spesso non è l’applicazione che devi cambiare, ma il prompt, e su questo torniamo più avanti.
cmux: cos’è
cmux è un’applicazione terminale gratuita e open source per macOS, pubblicata
con licenza GPL. È scritta in Swift con AppKit, quindi è un’app nativa e non un
sito web impacchettato, e usa libghostty per disegnare il testo: è il motore
di rendering di Ghostty, sfruttato qui come componente,
non come base di una copia del programma.
Il nome trae in inganno: cmux non è una variante di tmux. tmux è un multiplexer, cioè un programma che gira dentro il terminale e divide una sola finestra in più sessioni, che sopravvivono anche se chiudi il collegamento. cmux è invece l’applicazione stessa, e porta alcune di quelle funzioni nell’interfaccia, dove le governi con il mouse e le scorciatoie.
Il progetto nasce da un problema concreto: chi lavora con Claude Code, Codex o altri agenti spesso ne tiene aperti diversi insieme, e con dieci riquadri uguali diventa difficile ricordare quale sta facendo cosa e quale si è fermato in attesa di una risposta.
Le funzioni principali
Tab verticali con le informazioni del progetto
Le schede stanno in una colonna sul lato della finestra, non in una barra orizzontale in alto. Il vantaggio non è solo estetico: una barra orizzontale smette di essere leggibile dopo poche schede, una colonna verticale regge decine di sessioni e ha spazio per scrivere qualcosa di utile accanto a ogni voce.
Ogni scheda mostra il ramo Git su cui stai lavorando, lo stato della pull request collegata, la cartella corrente, le porte di rete in ascolto e l’ultima riga prodotta dall’agente. È l’informazione che di solito si recupera scrivendo un comando: qui è già sullo schermo.
Anelli di notifica
Quando un agente si ferma e aspetta una tua decisione, il riquadro si accende con un bordo colorato e la scheda corrispondente si segnala nella colonna. Esiste anche un pannello che raccoglie tutte le notifiche in attesa, con una scorciatoia per saltare direttamente all’ultima non letta.
Il problema che risolve è specifico: le notifiche di sistema di più sessioni dello stesso agente sono identiche, quindi non ti dicono quale sessione ti sta chiamando.
Browser integrato
cmux include un browser vero, basato su WebKit, che si apre come un riquadro accanto al terminale. Serve a tenere la pagina e il comando che la produce nella stessa finestra: la documentazione mentre installi, il sito in locale mentre lo modifichi, la pull request mentre la leggi.
Il browser si comanda anche da riga di comando e può importare cookie, cronologia e sessioni dai browser che già usi, così le pagine che richiedono l’accesso si aprono già autenticate. È una comodità, ma vale la pena esserne consapevoli: significa che le tue sessioni di accesso diventano disponibili anche all’interno del terminale, e agli agenti che lo pilotano.
Riquadri divisi e controllo da script
Ogni scheda si divide in orizzontale e in verticale, come in altri terminali.
La differenza è che tutte le azioni dell’applicazione (creare uno spazio di
lavoro, aprire un riquadro, inviare testo a un terminale, leggere ciò che c’è
sullo schermo, guidare il browser) sono disponibili sia da un comando cmux
sia da un’interfaccia di programmazione locale. Anche un agente può quindi
pilotare il terminale in cui sta lavorando.
Se usi già Ghostty, cmux legge la stessa configurazione (~/.config/ghostty/config)
per temi, caratteri e colori: non devi rifare le impostazioni.
Sessioni SSH e trasferimento dei file
Qui va chiarito un equivoco che circola spesso, perché riguarda una cosa che il tuo terminale sa già fare.
Con il comando cmux ssh utente@server apri uno spazio di lavoro collegato a
una macchina remota. I riquadri del browser passano attraverso la rete di quella
macchina, quindi un indirizzo come localhost:3000 mostra il sito che gira sul
server, non sul tuo computer. E, come indica la documentazione del progetto,
puoi trascinare un’immagine dentro una sessione remota per caricarla tramite
scp.
Il caricamento di file su un server via SSH non è però una funzione esclusiva
di cmux, né qualcosa che il terminale di sistema non può fare. macOS e le
principali distribuzioni Linux includono OpenSSH, e con esso scp e sftp. Dal
Terminale che hai già installato:
scp relazione.pdf utente@server:/var/www/documenti/Il file viene copiato sul server. Per una cartella intera si aggiunge -r, e
per sincronizzazioni ripetute esiste rsync, che trasferisce solo le parti
cambiate.
Quello che cmux aggiunge non è la capacità, è il gesto: trascinare invece di
scrivere un percorso. È una comodità reale, soprattutto per le immagini da
mostrare a un agente, ma non è il motivo per cui installeresti un terminale
nuovo. Se il tuo obiettivo è caricare file su un VPS, la risposta è scp e la
puoi provare subito.
Le altre applicazioni terminale
cmux è una scelta di nicchia: solo macOS, e pensata per un modo di lavorare molto specifico. Ecco le altre alternative che incontrerai più spesso.
| Applicazione | Sistemi | Perché la sceglie chi la usa |
|---|---|---|
| Ghostty | macOS, Linux | Veloce, nativa, configurazione in un file di testo breve |
| iTerm2 | macOS | Storica, ricchissima di funzioni, si configura da interfaccia grafica |
| Warp | macOS, Linux, Windows | Aspetto moderno e funzioni di IA integrate; ha piani gratuiti e a pagamento |
| Kitty | macOS, Linux | Estensibile, mostra immagini nel terminale |
| WezTerm | macOS, Linux, Windows | Si configura con un linguaggio di scripting, comoda se lavori su più sistemi |
| Alacritty | macOS, Linux, Windows | Minimale: fa poco, lo fa in fretta, si abbina a tmux |
| Tabby | macOS, Linux, Windows | Gestione delle connessioni SSH salvate e trasferimento file integrato |
Nessuna di queste è la scelta giusta in assoluto. La domanda utile non è quale sia la migliore, ma cosa ti dà fastidio del terminale che usi adesso: se non è niente, hai già la risposta.
Se ricordi un’app che «rendeva il terminale più carino»
Capita spesso di ricordare l’effetto e non il nome. Se l’impressione era di un’applicazione dall’aspetto moderno, con riquadri e colori diversi dal solito, il candidato più probabile è Warp. Se invece il ricordo è di un terminale d’aspetto tradizionale ma pieno di opzioni, era quasi certamente iTerm2.
C’è però una terza possibilità, ed è la più frequente: quello che era cambiato
non era l’applicazione, ma il prompt. Strumenti come oh-my-zsh,
Powerlevel10k o Starship riscrivono la riga che precede ogni comando,
aggiungendo icone, colori, il ramo Git e lo stato del progetto. L’effetto è
vistoso e si nota subito, ma è una configurazione della shell: continua a
funzionare in qualunque applicazione terminale, e la puoi aggiungere a quella
che hai già.
Serve davvero cambiare terminale?
Per la maggior parte delle persone, no.
Se apri il terminale per qualche comando al giorno, per seguire una guida o per avviare un agente su un progetto alla volta, l’applicazione di sistema fa il suo lavoro. Cambiarla aggiunge un programma da tenere aggiornato e un insieme di scorciatoie da imparare, in cambio di un vantaggio che non stai ancora usando.
Il momento in cui conviene guardarsi intorno si riconosce da segnali concreti: tieni aperte tante sessioni e ti perdi tra le schede; passi il tempo a controllare quale agente si è fermato; salti di continuo tra terminale e browser sullo stesso lavoro. Sono esattamente i problemi per cui cmux è stato scritto.
Vale anche la regola generale di questo blog: uno strumento nuovo si prova su un lavoro reale ma circoscritto, tenendo il vecchio a disposizione. Un terminale si disinstalla senza conseguenze, ma il tempo speso a riconfigurare l’ambiente non torna indietro.
Domande frequenti
cmux funziona su Windows o su Linux?
No. Al momento è un’applicazione nativa per macOS. Il sito del progetto raccoglie adesioni per le piattaforme non ancora disponibili, quindi la situazione può cambiare: prima di darlo per scontato, controlla la pagina ufficiale.
Devo installare Ghostty per usare cmux?
No. cmux usa il motore di rendering di Ghostty come componente interno, ma è un’applicazione a sé e si installa da sola. Se hai già Ghostty, però, cmux ne riutilizza la configurazione.
Cambiando terminale devo reimparare i comandi?
No. I comandi appartengono alla shell e al sistema, non alla finestra. Cambiano
le scorciatoie da tastiera dell’applicazione (dividere un riquadro, passare da
una scheda all’altra), non cd, ls o git.
Posso usare Claude Code o Codex in un terminale qualsiasi?
Sì. Sono programmi a riga di comando e funzionano in qualunque applicazione terminale. Quello che cambia è il contorno: quante sessioni riesci a seguire insieme e quanto in fretta ti accorgi che una si è fermata.
È rischioso far pilotare il terminale a un agente?
È una capacità da usare con consapevolezza. Un agente che può creare riquadri, inviare testo e leggere lo schermo può anche eseguire comandi che non avevi previsto, e un browser già autenticato estende quello che può raggiungere. Vale la stessa regola dei permessi: concedi l’autonomia su un progetto delimitato, di cui puoi controllare il risultato.
Da dove continuare
Se il terminale è ancora una finestra poco familiare, il punto di partenza è Iniziamo a usare il terminale: lì si vede cosa succede davvero quando scrivi un comando, prima di preoccuparsi di quale applicazione usare.
Se invece stai valutando quale agente far girare in quelle schede, leggi Claude Code: cos’è, come funziona e cosa può fare e OpenAI Codex: cos’è e come usarlo dal terminale.
Puoi anche iscriverti agli aggiornamenti per ricevere le prossime guide.