macOS Sierra: trabajando con pmset para un mejor control de tu Mac

Desde OS X 10.11 El Capitan, y evidentemente también disponibles en Sierra, Apple ha introducido un buen montón de cambios, algunos de ellos no visibles a través del interfaz y que modifican algunos aspectos de personalización del sistema para prosumers y usuarios Pro. Uno de ellos son las opciones de hibernación y su configuración a través de pmset.

Hay cuatro estados posibles en los que se mueve tu Mac: activo, cuando lo estás utilizando, reposo, cuando el Mac pasa a un estado de bajo consumo de energía, hibernación (que es el estado del que vamos a hablar hoy) y apagado … que requiere poca explicación.

La hibernación es un estado de tu Mac orientado específicamente a los portátiles. Cuando un portátil se queda sin batería, este estado se activa y antes de que se apague, coge todo el contenido de la memoria RAM y lo guarda en una imagen de disco … en el disco duro. Así, cuando vuelvas a conectar el Mac a la corriente, rápidamente recuperará el punto exacto en el que se apagó, extrayendo todo el contenido de la RAM desde esa imagen de disco.

Esta operación, extremadamente útil para los portátiles, sin embargo, tiene poco sentido en los ordenadores de escritorio, por motivos evidentes.

En el caso de los ordenadores de escritorio, al no tener sentido, simplemente debería estar desactivado este modo, pero aparentemente te puedes encontrar este archivo por dos motivos: porque Lion ha activado esta opción (aparentemente algunos usuarios se han encontrado con este problema después de la última actualización de Lion) o porque han migrado la instalación de un portátil a un ordenador de escritorio usando un software de clonación (Carbon Copy Cloner, SuperDuper, etc.). La mejor forma de comprobar si en tu ordenador de escritorio está esa imagen es ir al Finder,  ir al menú Ir>ir a la carpeta e introducir en el campo /var/vm

Si allí encuentras un archivo que se llama sleepimage (y tu Mac es de escritorio, es decir, un Mac Mini, un iMac o un Mac Pro), lo puedes borrar. Ahorrarás tanto espacio en GB como memoria tengas instalada. Y si tienes mucha, pues ahorrarás bastante espacio.

Además debes asegurarte de que (y seguimos con los ordenadores de escritorio) este estado en tu Mac esté desactivado.

Abre el Terminal en Aplicaciones > Utilidades y escribe:

pmset -g | grep hibernatemode

Puedes recibir dos contestaciones de tu Mac:

hibernatemode 0 (que quiere decir que está apagado)
hibernatemode 3 (que quiere decir que está activado)

Si tu Mac de escritorio devuelve la segunda respuesta (3), lo mejor que puedes hacer es desactivar el modo hibernación usando el comando:

sudo pmset -a hibernatemode 0

Y luego borrando manualmente el archivo sleepimage.

En el caso de los portátiles, la cosa cambia. Esta opción es interesante si trabajas siempre con la batería al límite y en situaciones en que la pérdida de datos es crítica, pero si generalmente tu portátil tiene frecuente acceso a fuentes de energía, el modo hibernación puede serte innecesario sobre todo en un entorno muy específico: cuando tu portátil usa un SSD: Como los SSD tienen una importante limitación de espacio, si tu portátil tiene 4 GB de RAM (o más) te vas a encontrar que sobre un disco de 64 GB, parte de ese crítico espacio se va a ir a un archivo que se mantiene en el tiempo sin ningún tipo de utilidad, ya que se escribe solo cuando se necesita y solo se usa una vez.

Así que la opción es desactivar el estado usando los comandos especificados arriba y además borrando el archivo sleepimage de forma manual. Siempre puedes volver a activar este comportamiento usando:

sudo pmset -a hibernatemode 3

Si lo necesitas en un caso de emergencia, como por ejemplo cuando estás trabajando con batería, un flujo de trabajo crítico que te costará reconstruir y no tienes acceso a un enchufe, pero más allá de esa situación, y sobre todo si usas un SSD, el modo hibernación no es más que una forma de llenar tu disco duro con información que solo se usa una única vez.

Por último está el modo 25. El sistema almacenará una copia de la memoria a una unidad de almacenamiento (la de arranque) y vaciará totalmente la RAM “cortando” la alimentación a la misma. El sistema se restaurará de la imagen de disco. Esto permite mejorar la autonomía de la batería, pero también un viaje a hibernación y una restauración mucho más lenta, aunque con un SSD se nota considerablemente menos que con un disco duro mecánico. El comando será:

sudo pmset -a hibernatemode 25

Desde hace ya varias versiones de OS X, Apple recomienda no modificar el comportamiento de los modos de hibernación a través de pmset y de hecho, si se intenta, por ejemplo, modificar este comportamiento a través del Terminal, OS X 10.11 El Capitan los ignora, por lo que si hay que realizar modificaciones (hay muchas opciones a través del propio manual de pmset en el Terminal) es necesario modificar manualmente el archivo:

/Library/Preferences/SystemConfiguration/com.apple.PowerManagement.plist

Y evidentemente, saber muy bien qué estás tocando.

Ajuste fino de la programación del Economizador

El panel de control Economizador, dentro de Preferencias del Sistema incluye un botón llamado Programar que te permite configurar el comportamiento de arranque, activación, reposo, apagado o reinicio a horas y fechas determinadas.

Por defecto, en este menú, dispones de una serie de opciones limitadas para definir lapsos de tiempo determinado que quizás puede que no se adapten de forma granular a tus necesidades, así que vamos a trabajar con esos ajustes más finos. Echa mano del Terminal en Aplicaciones > Utilidades y vamos a hacer algunas configuraciones especiales con pmset

pmset es una herramienta que se gestiona a través de la línea de comandos que controla la gestión de energía de tu Mac y adicionalmente, las opciones que hemos descrito.

La página de manual de pmset documenta varios tipos de acciones:

  • sleep – pone el Mac a dormir.
  • wake – saca el Mac de reposo.
  • poweron – Enciende el Mac si está apagado.
  • shutdown – apaga el Mac.
  • wakeorpoweron – Dependiendo de si el Mac está en reposo o apagado, saca el ordenador de reposo o lo enciende.
  • restart – Reiniciar. Por cierto, no está documentado dentro de la página de manual de pmset

Luego están las opciones para cada día de la semana:

  • M = Monday (Lunes)
  • T = Tuesday (Martes)
  • W = Wednesday (Miércoles)
  • R = Thursday (Jueves)
  • F = Friday (Viernes)
  • S = Saturday (Sábado)
  • U = Sunday (Domingo)

A la hora de especificar la hora, usaremos el formato HH:mm:ss y va expresado en formato de 24 horas, con un cero cuando se trata solo de una cifra.

A escribir comandos

La sintaxis de un comando de este tipo empieza invocando pmset, añadiremos repeat, el verbo que queremos invocar, los días de la semana y la hora a la que se ejecutará el comando.

Por ejemplo, imagina que quieres que el Mac se reinicie todos lunes a las 07:00 AM. Entonces, el comando sería:

/usr/bin/pmset repeat restart M 07:00:00

Captura de pantalla 2016-03-02 a las 16.39.10El interfaz de OS X solo te permite, si te has fijado, de un limitado número de opciones, así que vamos a sobrepasar esas opciones, y vamos a crear un ajuste especial que haga que el Mac se reinicie los lunes, miércoles y viernes a las 11:59 de la noche.

El comando sería:

/usr/bin/pmset repeat restart MWF 23:59:00

Evidentemente puedes jugar con el resto de los verbos, para ajustar de forma más específica para cada acción. Por ejemplo shutdown te permite ajustar de forma fina el apagado del Mac.

El archivo donde se almacenan estos ajustes está en:

/Library/Preferences/SystemConfiguration/com.apple.AutoWake.plist

donde puedes ver la configuración disponible.

Usando pmset en una acción de Automator o con Applescript

Si lo que quieres es un flujo de Automator en el que vas a pasar datos o argumentos a Automator lo que hacemos es confiar en las opciones de Applescript integradas en Automator, así que aprendemos “2×1”.

En tu acción de Automator, una vez hayas configurado todos los pasos y siempre fuera del “loop” si tienes configurado alguno, añade al final Ejecutar Applescript.

En el correspondiente campo, añade este script (que ejecuta un comando de Terminal):

do shell script “sudo pmset sleep 10” password “tucontraseñadeadministrador” with administrator privileges

La cifra “10” son los minutos que tardará el Mac en ponerse en reposo tras ese tiempo de inactividad.

Recuerda que también puedes “apagar la pantalla” por ejemplo al inicio de la acción de Automator añadiendo también una acción que ejecute un Applescript como el siguiente:

do shell script “sudo pmset displaysleep 15” password “tucontraseñadeadministrador” with administrator privileges

Donde 15 serán los minutos para poner en reposo la pantalla.

0 0 votos
Article Rating
Subscribe
Notify of
0 Comments
Opiniones Inline
Ver todos los comentarios
0
Me encantaría saber tu opinión, por favor, deja un comentariox
()
x