5 votos

Desactivar el modo de suspensión para una aplicación específica?

Puedo desactivar el modo de suspensión para una aplicación específica, de modo que mi mac no van a ir a dormir hasta que la aplicación esté cerrada?

2voto

WeasleyWaali Puntos 6

Si usted tiene algún interés en la ejecución de script de shell el siguiente trabajo. Sólo tienes que configurar el "Display_Sleep_Time" y "System_Sleep_Time" como quieres que sea, junto con la "App" usted está eligiendo para evitar el sueño. Al lanzar el script en cualquier momento de ejecutar la aplicación con todas sus momentos de sueño se recurrió a 0 la prevención de la pantalla y del sistema de dormir.

PROBADO EN

  • 10.5.x
  • 10.6.x
  • 10.7.4

NOTA: ADVERTENCIA ESTE SCRIPT CONTIENE UN BUCLE INTERNO. Usted puede preferir utilizar la siguiente secuencia de comandos dentro de un Demonio, en lugar de utilizar el bucle interno de la secuencia de comandos proporciona. Sin embargo, el mismo concepto se aplica.

#!/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

0voto

También puede agregar una línea como esta a un crontab:

* * * * * pgrep -x TextEdit && caffeinate -t 60

(Uso EDITOR=nano crontab -e si no ha cambiado $EDITOR y no sabe cómo utilizar vi.)

caffeinate y pgrep se agregan en Mountain Lion.

Usted puede obtener una lista de poder afirmaciones con pmset -g assertions. caffeinate o caffeinate -i debe establecer PreventUserIdleSystemSleep a 1.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X