¿Cómo hacer que Applescript salga de un programa específico para todos los usuarios?

0

Mi esposa y yo estamos configurados en una sola computadora portátil y tengo nuestras bibliotecas de iTunes almacenadas en un HD externo. Estoy escribiendo un Applecript para auto expulsar esa unidad cuando queremos llevar la computadora portátil a otra parte (normalmente usamos iPads en la casa), pero tengo problemas para configurar el script para que también salga de iTunes en nuestras dos cuentas cuando correr.

Aquí está el script básico en este momento, que obviamente falta la magia para salir de iTunes para todos los usuarios registrados:

tell the application "iTunes" to quit

tell the application "Finder"
    if disk Media exists then
        eject disk Media
    end if
end tell

¿Alguna sugerencia?

    
pregunta pettifoggist 11.06.2012 - 19:35

2 respuestas

0

El problema es que Applescript se ejecuta en el contexto del usuario actual y no puede acceder a iTunes que se ejecuta en otras cuentas. Una forma de cerrar / finalizar todos los procesos de iTunes en ejecución sería (en la Terminal)

sudo killall -sm iTunes

pero esto puede dejar los metadatos de iTunes en un estado incoherente (lo que significa un tiempo de inicio más prolongado la próxima vez que inicie iTunes y la posible pérdida de datos).

    
respondido por el nohillside 11.06.2012 - 21:21
1

Use la directiva do shell script en AppleScript:

do shell script "sudo killall iTunes"

tell the application "Finder"
    if disk Media exists then
        eject disk Media
    end if
end tell

Deberá asegurarse de poder ejecutar sudo killall sin contraseña.

    
respondido por el bahamat 12.06.2012 - 00:31

Lea otras preguntas en las etiquetas