Imagina que estás descargando un archivo enorme, compilando un proyecto que tarda mucho tiempo o realizando una copia de seguridad crítica. De repente, tu Mac decide que es buen momento para una siesta y entra en modo suspensión, interrumpiendo todo tu trabajo. Frustrante, ¿verdad? Aquí es donde entra en juego el comando caffeinate
, una utilidad de línea de comandos en macOS que permite prevenir que el sistema entre en modo de suspensión. Su nombre es un juego de palabras con la cafeína y su efecto para mantener a las personas despiertas 😉
El propósito principal de caffeinate
es permitir que los usuarios y desarrolladores controlen los estados de energía de macOS, evitando que el sistema:
- Entre en modo de reposo
- Apague la pantalla
- Active el protector de pantalla
- Reduzca el brillo de la pantalla
- Active el disco duro en modo de bajo consumo
La sintaxis básica del comando es:
caffeinate [-dimsu] [-t segundos] [-w pid] [comando [argumentos...]]
Opciones principales de caffeinate
-d
: Evita que la pantalla entre en modo de reposo
-i
: Evita que el sistema entre en modo de reposo
-m
: Evita que el disco duro entre en modo de reposo
-s
: Evita que el sistema entre en modo de suspensión
-u
: Simula actividad de usuario
-t
: Especifica una duración en segundos
-w
: Espera hasta que el proceso especificado termine
Ejemplos de uso práctico de caffeinate
Aunque puedes ponerlo en marcha simplemente escribiendo caffeinate
en tu terminal para dejarlo encendido hasta que lo detengas, vamos a ver algunos usos concretos de todos estos parámetros que te permitirán hacer más cosas:
1. Mantener el sistema despierto por un tiempo específico
caffeinate -t 3600 # Mantiene el sistema despierto durante 1 hora
2. Evitar que la pantalla se apague mientras se ejecuta otro comando
caffeinate -d make # Mantiene la pantalla encendida durante una compilación (en este caso con make)
3. Mantener el sistema activo hasta que un proceso termine
caffeinate -w $PID # Espera hasta que el proceso con PID especificado termine
4. Prevenir todos los tipos de reposo de macOS
caffeinate -dimsu # Activa todas las prevenciones de reposo
¿Para qué puedes usar caffeinate?
Pues para muchísimas cosas, como por ejemplo:
-
A la hora de programar
- Durante sesiones de compilación largas
- Al ejecutar pruebas automatizadas
- Durante despliegues de software
-
Trabajo con archivos
- Copias de seguridad muy gordas
- Sincronización de archivos grandes
- Descargas de gran tamaño
-
Presentaciones y reuniones
- Durante presentaciones importantes
- En videoconferencias largas donde no tocas el teclado en mucho tiempo
- Para demostraciones de software
-
Tareas de Mantenimiento
- Análisis de disco
- Desfragmentación
- Actualizaciones del sistema (aunque también impedirán que se reinicie, OJO)
Ojito con algunas cosas cuando lo utilices:
- El uso durante muchas horas del comando puede afectar mucho a la duración de la batería. Mejor utiliza
-t
para limitar la duración
- Puede afectar al ciclo normal de mantenimiento del sistema, en especial, puede interferir con las actualizaciones automáticas o con el reinicio automático tras una actualización.
caffeinate
se integra con el framework de Gestión de Energía de macOS, utilizando las APIs de bajo nivel del sistema para controlar los estados de energía. Esto lo hace más eficiente y confiable que soluciones de terceros que intentan simular actividad del usuario.
El comando apareció
en OS X Mountain Lion (10.8) en 2012. Fue desarrollado por Apple como parte de sus utilidades de gestión de energía, reemplazando y mejorando funcionalidades anteriores como el comando pmset
. La herramienta se inspiró en utilidades similares de otros sistemas Unix/Linux, como caffeine
y systemd-inhibit
.
¡Espero que te resulte útil!