¿Puedo deshabilitar el modo de suspensión para una aplicación específica para que mi mac no se duerma hasta que se cierre la aplicación?
¿Puedo deshabilitar el modo de suspensión para una aplicación específica para que mi mac no se duerma hasta que se cierre la aplicación?
Si tiene algún interés en ejecutar el script de shell, lo siguiente funcionará. Simplemente configura "Display_Sleep_Time" y "System_Sleep_Time" como quieras que estén junto con la "aplicación" que eliges para evitar que se duerma. Al ejecutar el script en cualquier momento que ejecute su aplicación, todos los tiempos de suspensión se convertirán en 0, lo que evitará que tanto la pantalla como el sistema duerman.
PROBADO
NOTA: ADVERTENCIA QUE ESTE ESCRITURA CONTIENE UN LAZO INTERNO. Es posible que prefiera utilizar el siguiente script dentro de un Daemon en lugar de usar el bucle interno que proporciona el script. Sin embargo, se aplica el mismo concepto.
#!/bin/bash
watch="true"
App="Safari"
System_Sleep_Time="30"
Display_Sleep_Time="10"
System_Sleep=$(pmset -g | grep " sleep" | awk '{print $2}')
Display_Sleep=$(pmset -g | grep " displaysleep" | awk '{print $2}')
while [[ ${watch} == "true" ]]; do
watch_App=$(ps -A | grep "${App}.app" | grep -v grep | sed "s/.*${App}.*/${App}/")
if [[ ${watch_App} == ${App} ]]; then
if [[ ${System_Sleep} != "0" ]]; then
pmset -a sleep 0
System_Sleep=$(pmset -g | grep " sleep" | awk '{print $2}')
fi
if [[ ${Display_Sleep} != "0" ]]; then
pmset -a displaysleep 0
Display_Sleep=$(pmset -g | grep " displaysleep" | awk '{print $2}')
fi
elif [[ ${watch_App} != ${App} ]]; then
if [[ ${System_Sleep} == "0" ]]; then
pmset -a sleep ${System_Sleep_Time} > /dev/null 2>&1
System_Sleep=$(pmset -g | grep " sleep" | awk '{print $2}')
fi
if [[ ${Display_Sleep} == "0" ]]; then
pmset -a displaysleep ${Display_Sleep_Time} > /dev/null 2>&1
Display_Sleep=$(pmset -g | grep " displaysleep" | awk '{print $2}')
fi
else
/usr/bin/logger -i An error has occured with preventsleep.sh
fi
done
También puede agregar una línea como esta a un crontab:
* * * * * pgrep -x TextEdit && caffeinate -t 60
(Use EDITOR=nano crontab -e
si no ha cambiado $EDITOR
y no sabe cómo usar vi.)
cafeína y pgrep se agregaron en Mountain Lion.
Puede obtener una lista de aserciones de poder con pmset -g assertions
. caffeinate
o caffeinate -i
debería establecer PreventUserIdleSystemSleep
en 1.
Lea otras preguntas en las etiquetas macos sleep-wake