2 votos

Flujo de trabajo de Automator o AppleScript para cerrar Safari después de un período de tiempo

Me gustaría crear un flujo de trabajo de Automator (o alguna función similar) que cierre Safari después de un período de tiempo determinado.

Por ejemplo, simplemente quiero ejecutar Pandora en Safari durante la noche, pero que se cierre después de 30 minutos a 1 hora, como una especie de temporizador de sueño. Soy un usuario de Mac muy nuevo, así que las instrucciones detalladas serían geniales. Me he familiarizado con la creación de algunos flujos de trabajo simples de Automator, pero no tengo experiencia en el uso de AppleScript.

0 votos

Asumiendo que tienes una hora de sueño regular (digamos las 12am todos los días), ¿sería mejor para ti programar un sueño a las 12:30am, para poner toda la computadora a dormir en lugar de sólo cerrar Safari?

1 votos

Para programar, vaya a Preferencias del Sistema -> Ahorro de Energía -> Programar.

0 votos

Había pensado en esto, pero por otras razones normalmente sólo ejecuto mi copia de seguridad de TimeMachine entre otras cosas durante la noche; preferiría no poner la máquina a dormir

5voto

Bogdan Gavril Puntos 4059

Aquí está el código AppleScript, que puede poner en su flujo de trabajo, mediante la implementación de un elemento de AppleScript, y copiar-pegar el código en. El tiempo es configurable, pero se necesita un tiempo de sueño exacto, que puedo añadir si usted podría elaborar un poco más en el tiempo. Aquí está el código a través de CulturedCode .

global quit_after, check_every

set quit_after to 2700
set check_every to 10
set minute to quit_after / 60

display dialog "Check is performed every " & check_every & " seconds. Things will be quit after " & minute & " minutesof system inactivity."

on reopen
    display dialog "Check is performed every " & check_every & " seconds. Things will be quit after " & minute & " minutes of system inactivity."
end reopen

on idle
    set idletime to do shell script "echo $((`ioreg -c IOHIDSystem | sed -e '/HIDIdleTime/ !{ d' -e 't' -e '}' -e 's/.* = //g' -e 'q'` / 1000000000))"
    if (idletime as integer) > quit_after then
        tell application "System Events"
            if ((name of processes) contains "Safari") then
                tell application "Safari" to quit
            end if
        end tell
    end if
    return check_every
end idle

0 votos

Esto se ve muy bien hasta ahora - si pudieras editarlo para dejarlo después de, digamos, 45 minutos lo apreciaría. Gracias.

0 votos

Claro, no hay problema.

0 votos

¿Cómo puedo adaptar esto para que un sistema Xserve sólo cierre las instancias de Safari asociadas a las sesiones de usuario inactivas, en un sistema con múltiples sesiones?

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