Il problema dell'espulsione su Mac che Apple ignora da anni
Gli utenti Mac si lamentano dei messaggi di errore di espulsione vaghi fin dai tempi dei PowerPC. Apple non ha mai risolto il problema. Ecco la storia di questa frustrante questione.
Prova a espellere un disco esterno sul tuo Mac e a volte ricevi questo messaggio: «Il disco non è stato espulso perché uno o più programmi potrebbero utilizzarlo».
Uno o più programmi. Potrebbero utilizzarlo. Non «lo stanno utilizzando». Non quali programmi. Solo una vaga accusa secondo cui qualcosa, da qualche parte, potrebbe avere un file aperto.
Questo messaggio di errore esiste in forma sostanzialmente identica da oltre quindici anni. Gli utenti Mac chiedono una soluzione sui forum di supporto di Apple almeno dai tempi di Snow Leopard. Le lamentele proseguono attraverso ogni versione di macOS: Mountain Lion, Mavericks, Catalina, Monterey, Ventura, Sonoma, Sequoia. Il messaggio non cambia mai. Apple non lo corregge mai.
Il problema è evidente
Quando non riesci a espellere un disco, ti servono due informazioni: quale processo lo sta bloccando e come fermare quel processo. macOS non te ne dà nessuna delle due.
Il sistema operativo sa esattamente quale processo ha file aperti sul disco. Deve saperlo, perché è così che decide se consentire l’espulsione. Ma invece di condividere questa informazione, macOS ti offre l’equivalente testuale di un’alzata di spalle.
Confrontalo con il comando del Terminale lsof, che elenca ogni processo con file aperti su un determinato percorso. L’informazione esiste. È accessibile. Apple ha semplicemente scelto di non metterla nella finestra di errore.
Cosa fanno davvero gli utenti
Di fronte a questo inutile messaggio di errore, gli utenti Mac hanno sviluppato un repertorio di soluzioni improvvisate tramandate attraverso post sui forum e commenti sui blog.
Gli ottimisti aspettano e riprovano, sperando che il misterioso processo, qualunque esso sia, finisca da solo. A volte funziona. Spesso no.
Quelli con propensione tecnica aprono il Terminale ed eseguono lsof /Volumes/DriveName, poi analizzano l’output per individuare i colpevoli. Questo richiede di sapere che il comando esiste, di capire come leggerne l’output e di sentirsi a proprio agio nel terminare i processi.
Gli impazienti forzano l’espulsione e sperano che vada bene. A volte non succede nulla. A volte i dati si corrompono. Senza sapere cosa sta effettivamente usando il disco, non c’è modo di valutare il rischio.
I frustrati si limitano a riavviare il Mac. Questo funziona di sicuro, ma è assurdo che per staccare un disco si debba riavviare il computer.
Perché Apple non ha risolto la cosa?
Solo Apple lo sa con certezza, ma ci sono alcune ipotesi.
La finestra di errore andrebbe modificata, e storicamente Apple evita di aggiungere complessità ai messaggi rivolti agli utenti. Ma «Safari sta usando questo disco» non è più complesso di «uno o più programmi potrebbero utilizzarlo». È solo più utile.
L’elenco dei processi che bloccano potrebbe essere lungo o confuso in alcuni casi limite. È vero, ma mostrare il principale colpevole sarebbe infinitamente meglio che non mostrare nulla. E per i casi limite, un pulsante «Mostra dettagli» è una prassi standard.
La maggior parte degli utenti non incontra questo problema abbastanza spesso da lamentarsi a gran voce. Forse, ma le Comunità di Supporto Apple e i forum di MacRumors sono pieni di discussioni che risalgono ad anni fa. Il problema è ben documentato.
La vera risposta è probabilmente una questione di priorità. Apple ha risorse di sviluppo limitate e questo problema, per quanto fastidioso, non impedisce alle persone di usare i propri Mac. Le fa solo borbottare imprecazioni davanti allo schermo ogni paio di settimane.
Il problema sta peggiorando
Man mano che le memorie esterne diventano più diffuse (veloci SSD USB-C, dischi portatili per il montaggio video, dischi di backup per Time Machine), gli utenti incontrano questo errore più di frequente.
Anche macOS esegue un numero crescente di processi in background che accedono ai dischi esterni. L’indicizzazione di Spotlight, il monitoraggio di Time Machine, la sincronizzazione di iCloud, vari processi daemon. Il numero di potenziali responsabili del blocco è cresciuto, ma il messaggio di errore resta altrettanto vago.
Gli utenti che migrano da Mac più vecchi segnalano che il problema compare più spesso sulle macchine Apple Silicon. Non è chiaro se si tratti di una modifica software o solo di una percezione, ma le lamentele si sono intensificate dalla transizione agli M1.
Esistono soluzioni di terze parti
Il fatto che sviluppatori di terze parti abbiano costruito intere applicazioni attorno a questo problema la dice lunga.
What’s Keeping Me era un’utilità molto diffusa che mostrava quali processi bloccavano un disco. È stata abbandonata anni fa e non funziona più sulle versioni moderne di macOS, ma la sua esistenza ha dimostrato che c’era richiesta per questa funzione.
Sono nate varie utilità per la barra dei menu e diversi script per colmare la lacuna. Alcuni monitorano i dischi e ti avvisano prima che si verifichino problemi di espulsione. Altri automatizzano il flusso di lavoro di lsof così non devi digitare comandi nel Terminale.
Questi strumenti non dovrebbero avere ragione di esistere. La funzionalità che offrono è una capacità di base del sistema operativo che Apple ha scelto di non rendere disponibile.
Come sarebbe una soluzione
La soluzione minima è semplice: modificare la finestra di errore in modo che indichi quale processo sta impedendo l’espulsione. «Impossibile espellere il disco perché Spotlight lo sta indicizzando» ti dice esattamente cosa sta succedendo. Puoi aspettare che l’indicizzazione finisca, oppure chiudere Spotlight, oppure decidere di forzare l’espulsione conoscendo il rischio.
Una soluzione migliore aggiungerebbe la possibilità di chiudere il processo che blocca direttamente dalla finestra. «Safari ha file aperti su questo disco. [Chiudi Safari ed espelli] [Annulla]» risolve il problema con un clic, senza costringere gli utenti a frugare in Monitoraggio Attività.
La soluzione ideale sarebbe proattiva: avvisare gli utenti quando hanno modifiche non salvate su un disco esterno, o quando dei processi in background lo stanno utilizzando attivamente. Far sapere alle persone le cose prima che provino a espellere e si innervosiscano.
Nessuna di queste è tecnicamente difficile. La parte più ardua è probabilmente la decisione di prodotto di apportare la modifica.
Per ora
Apple potrebbe risolvere la questione prima o poi. È nota per affrontare i fastidi di lunga data quando gli astri si allineano. Fino ad allora, le soluzioni improvvisate restano le stesse: comandi nel Terminale, lavoro investigativo in Monitoraggio Attività, oppure strumenti come Ejecta che fanno il lavoro investigativo al posto tuo.
Non dovrebbe essere così difficile staccare un disco. Eppure lo è, lo è da anni, e Apple non sembra preoccuparsene.
Se preferisci non usare il Terminale ogni volta, Ejecta ti mostra esattamente quale processo sta bloccando il disco — e ti permette di chiuderlo con un clic, direttamente dalla barra dei menu.
Acquista ora — $9.99