So di essere arrivato un po’ tardi, visto che questo hack esiste da più di un anno, ma io, purtroppo, ne sono venuto a conoscenza solo stamattina.
Come molti di voi sapranno, esistono due metodi per congelare lo stato del computer:
- quello adottato da Mac OS X, che entra nella modalità a basso consumo alimentando soltanto la RAM di sistema in modo da mantenere attive tutte le risorse allocate
- e quello di Windows che utilizza la cosidettà modalità di ibernazione.
In quest’ultimo caso caso, il sistema operativo si occupa di salvare il contenuto della RAM all’interno del disco rigido, togliendo l’alimentazione ai componenti del computer con un conseguente risparmio di energia (circa 1% ogni ora e mezza), ma con un conseguente riavvio più lento (è necessario infatti che il computer faccia l’operazione inversa, ovvero copiare il contenuto dal disco rigido alla RAM).
Quello che pochi sanno è che basta possedere un Mac discretamente recente (non più vecchio di tre anni, ma la casistica varia molto) con installato almeno Mac OS X 10.4.3 per attivare l’Hibernation Mode sebbene il suo utilizzo, a meno di hack sotto descritti, sia limitato esclusivamente agli ultimi PowerBook prodotti. Vediamo insieme come procedere:
1. Applicare le proprietà del Safe Sleep
Scrivete sul Terminale i seguenti comandi (facendo seguire ogni riga da un a-capo):
sudo nvram nvramrc='” /” select-dev
” msh” encode-string ” has-safe-sleep” property
unselect
‘
sudo nvram “use-nvramrc?”=true
e riavviate il computer.
2. Abilitare la modalità di ibernazione
Prima di continuare, assicuratevi di avere almeno tanto spazio libero su disco rigido, quanta è la RAM installata sul vostro computer + 750 MB (ad esempio, se avete 512MB di RAM, dovete avere almeno 1,2GB di spazio libero libero).
Ora scrivete nel Terminale:
sudo pmset -a hibernatemode 3
Questo creerà un file dove verrà salvato il contenuto della RAM (/var/vm/sleepimage). Nel caso in cui utilizziate la modalità Memoria Virtuale Sicura di File Vault, sostituite il 3 con 7, in modo da disabilitare l’ibernazione criptata.
Il vostro Mac ora andrà in ibernazione (Safe Sleep) soltanto nel caso in cui decidiate di stopparlo e l’energia della batteria sia quasi esaurita.
In realtà è possibile utilizzare sempre il Safe Sleep scrivendo, sul Terminale:
sudo pmset -a hibernatemode 1
(inserite 5 al posto di 1, nel caso in cui utilizziate la memoria virtuale sicura).
3. Verificare se il SafeSleep funziona
Per verificare che le modifiche apportate siano andate a buon fine, mettete il vostro computer in Stop, osservate “il respiro” e avviatelo di nuovo; aprire il Terminale e digitate:
cat /var/log/system.log | grep SafeSleep
l’output che dovreste avere è qualcosa del genere:
Feb 21 17:01:00 iBook kernel[0]: System SafeSleep
Annullare tutte le modifiche apportate
Per disabilitare completamente il Safe Sleep digitate:
sudo pmset -a hibernatemode 0
Invece, per fare una disinstallazione completa di tutte le modifiche fatte fino ad ora, digitate:
sudo nvram “use-nvramrc?”=false
Conclusioni
Sono sicuro che molti di voi si staranno chiedendo: “ma in cosa è veramente utile questo Safe Sleep?!“.
Secondo me è utile, ad esempio nei seguenti casi:
- quando avete pochissima batteria residua, il computer va automaticamente in Stop e, se non potete attaccarvi alla rete elettrica nel giro di qualche ora, normalmente rischiate di perdere tutto il lavoro; con Safe Sleep, invece, rimane tutto memorizzato.
- normalmente in fase di Stop in cui la RAM continua ad essere alimentata, mentre in fase di ibernazione, il consumo di energia è praticamente nullo
- abilitando definitivamente il Safe Mode (dando, come detto sopra, il comando sudo pmset -a hibernatemode 1) e mettendo il computer in Stop, questo si spegne e, riaccendendolo, in pochi secondi avrete di nuovo il sistema operativo avviato con tutti i programmi attivi al momento dello Stop.
P.S. 1 Per chi non si sentisse a proprio agio con la linea di comando c’è un software di Jack Overfull chiamato SuspendNow! che automatizza le operazioni.
P.S. 2 C’è anche comodissimo widget chiamato Deep Sleep che, facendo click su di esso, abilita la modalità di ibernazione, mentre preserva il comportamento predefinito in tutti gli altri casi.
P.S. 3 Non mi ritengo assolutamente responsabile di eventuali danni che potreste provocare eseguendo i comandi descritti in questo articolo.