0 votos

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

Mi mujer y yo estamos instalados en un único portátil y tengo nuestras bibliotecas de iTunes almacenadas en un disco duro externo. Estoy escribiendo un applescript para expulsar automáticamente esa unidad cuando queramos llevarnos el portátil a otro sitio (normalmente usamos iPads por la casa), pero estoy teniendo problemas para conseguir que el script se configure para que también salga de iTunes para nuestras dos cuentas cuando se ejecute.

Aquí está el script básico ahora mismo al que obviamente le falta la magia para salir de iTunes para todos los usuarios conectados:

tell the application "iTunes" to quit

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

¿Alguna sugerencia?

1voto

Mykroft Puntos 4292

Utilice el 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

Tendrá que asegurarse de que puede ejecutar sudo killall sin contraseña.

0voto

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

sudo killall -sm iTunes

pero esto puede dejar los metadatos de iTunes en un estado inconsistente (lo que significa un mayor tiempo de inicio la próxima vez que inicies iTunes y una posible pérdida de datos).

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