“caffeinate” è un comando da Terminale che offre un soluzione veloce per impedire al tuo Mac di mettersi in modalità stop (sleeping).
Permettendo al tuo Mac di andare in stop (sleep) dopo un certo periodo di inattività, avrai da un lato, un sicuro beneficio di risparmio energetico, ma dall’altro lato scoprirai che il sistema andrà in stop anche se in realtà stà eseguendo qualche routine (ad esempio: un programma che applica un filtro ad una serie di immagini).
Questo accade perchè Apple ha implementato alcuni cambiamenti nelle utlime versioni di OS X nei requisiti necessari per determinare se il sistema deve andare in stop oppure no, uno di questi è la nuova dipendenza delle applicazioni di invocare la “power assertion” per evitare che il sistema vada in stop.
Quindi, a meno che un programma invochi un “power assertion”, il sistema potrebbe andare in stop se lasciato inattivo, anche se il programma è in esecuzione. Questo potrebbe non essere un problema, ma lo stop mette in pausa tutte le attività, persino quelle che necessitano di essere eseguite di continuo, ad esempio un sistema di videosorveglianza oppure con uTorrent.
Se accade ciò sul tuo Mac, puoi scegliere fra un paio di soluzioni.
Incrementa il ritardo per il computer in stop
Il primo approccio è quello di cambiare il ritardo per il computer in stop, per fare ciò vai in preferenze di sistema, risparmio energia, e muovi lo slider del coomputer in stop verso destra per aumentare il ritardo (si può mettre anche mai). Ma questo approccio potrà consumare più energia, perchè non metterà in pausa nessuna applicazione, anche quelle che non stanno facendo nulla.
Caffeinate il tuo Mac
Caffeinating the system significa che manualmente creeremo un power assertion nel sistema e potrà essere fatto globalmente oppure per una specifica applicazione così al sistema sarà impedito di andare in pausa mentre questa applicazione starà girando..
Anche se ci sono applicazioni di terze parti che utilizzano questo metodo come Caffeine, o Sleep No More, Apple ha dato la possibilità di farlo direttamente in OS X in un paio di modi, così che questi tools non sono sempre necessari.
Il primo apprrocio è quello di impostare il power assertion globale del sistema, e potrà essere fatto aprendo il Terminale e digitando il seguente comando “pmset noidle.” Per interrompere questo comando basterà nel prompt dei comandi del Terminale premere Control-C, oppure chiudere la finestra del Terminale.
In Mountain Lion, Apple ha introdotto un nuovo commando chiamato “caffeinate,” il quale se eseguito direttamente avrà lo stesso comprtamento di “pmset noidle”. Ma il comando “caffeinate” ha un paio di opzioni che lo rendono molto più utile. Queste opzioni sono ben descritte in “caffeinate” manual page, anche se non di facile interpretazione.
La prima caratteristica è il supporto del timeouts, così se vuoi che il “power assertion” sia fatto per un breve periodo di tempo, puoi usare il flag “-t” seguito dal numero di secondi per cui vuoi tenere il “power assertion”, per esempio il comando seguente impedirà al sistema di andare in stop per 5 minuti (300 secondi):
caffeinate -t 300
Altre opzioni possono essere usate per prevenire lo stop (-i), impedire il monitor in stop (-d), impedire lo stop quando c’è l’alimentatore di corrente AC (-s), oppure quando un utente è “attivo” (-u). Un esempio delle precedenti opzioni combinate insieme è il seguente:
caffeinate -dsi -t 600
L’ultima, ma forse la più importante caratteristica è quella di poter specificare l’applicazione che deve essere monitorata da caffeine per evitare il computer in stop. Per esempio, il seguente comando nel Terminale aprirà TextEdit:
/Applications/TextEdit.app/Contents/MacOS/TextEdit
Se vuoi caffeinate questo programma, allora dovrai eseguire il seguente comando:
caffeinate /Applications/TextEdit.app/Contents/MacOS/TextEdit
Naturalmente si potranno usare le varie combinazioni anche quando si specifica l’applicazione: Ad esempio, lanceremo Textedit è sarà impedito sia il monitor che il sistema di andare in stop per 10 minuti.
caffeinate -di -t 600 /Applications/TextEdit.app/Contents/MacOS/TextEdit