Vai alla home
Toxin
IT

Tenere sveglio il Mac durante la compilazione: Xcode e Docker su macOS

La compilazione dura quaranta minuti. La avvii, vai a prendere un caffè e torni a un Mac che dorme da venti.

Perché proprio le compilazioni

Una compilazione porta il processore al massimo e non produce nemmeno un input. macOS decide lo stop in base al tempo senza tasti né movimenti del mouse, non in base al carico. Per il sistema, davanti al computer non c’è nessuno.

Se Xcode o uno strumento di build crea da sé un’asserzione dipende dallo strumento e da come viene richiamato. Se non l’hai verificato, non contarci.

Cosa succede quando va in stop

Se il Mac dorme, la compilazione si ferma. Al risveglio spesso riprende e basta, ma non sempre: le connessioni di rete di solito sono cadute e un passaggio che scaricava dipendenze fallisce per timeout.

Con Docker si aggiunge un livello. I container girano in una macchina virtuale che dorme con il Mac. Ciò che fallisce dopo raramente sembra uno stop; sembra un errore di rete qualsiasi.

Due modi per lasciarla finire

Nel Terminale, caffeinate -i tiene sveglio il Mac esattamente finché dura un comando, per esempio caffeinate -i make. È preciso, ma va scritto davanti al comando ogni volta.

Con Toxin avvii prima della compilazione un intervallo ben superiore alla durata prevista, oppure una sessione senza limite per compilazioni senza fine prevedibile. Il tempo rimanente è nel pannello; dopo torna a valere quello che dicono le Impostazioni di Sistema.

Di notte e a coperchio chiuso

Per una compilazione notturna basta un intervallo di dodici ore. Toxin tiene acceso anche lo schermo; se non ti serve, abbassa la luminosità.

Se chiudi il MacBook durante la compilazione, serve la modalità schermo chiuso, perché chiudere il coperchio è una regola a sé di macOS. Una compilazione a pieno carico scalda a coperchio chiuso; il Mac deve stare all’aria, non in una borsa.

Se la compilazione si interrompe comunque

  • Guarda l’icona: solo il contorno vuol dire che non c’era alcuna sessione.
  • Intervallo troppo breve? Controlla l’ora di fine nel pannello.
  • Coperchio chiuso senza modalità schermo chiuso? Allora macOS ha messo il Mac in stop.
  • Errore di rete a metà? Spesso è la traccia di uno stop.

Domande frequenti

Non basta caffeinate?

Per singoli comandi nel Terminale sì. Toxin è più comodo quando la compilazione parte da Xcode, da un’altra app o da più passaggi e non vuoi riscrivere ogni chiamata.

Toxin rallenta la compilazione?

No. Toxin crea solo un’asserzione e non calcola altro. La compilazione ha le stesse prestazioni che senza.

Una compilazione interrotta costa di rado tempo di calcolo; costa attenzione. Toxin tiene sveglio il Mac finché vuoi. Un’app da barra dei menu per macOS, non ancora sul Mac App Store.

Home