Come far sì che Applescript lasci un programma specifico per tutti gli utenti?

0

Mia moglie ed io siamo installati su un unico laptop e ho le nostre librerie iTunes memorizzate su un HD esterno. Sto scrivendo un AppleScript per l'espulsione automatica di questa unità quando vogliamo portare il laptop altrove (normalmente usiamo gli iPad in casa), ma ho difficoltà a impostare lo script per chiudere anche iTunes per entrambi i nostri account quando eseguire.

Ecco lo script di base in questo momento, che ovviamente manca la magia per uscire da iTunes per tutti gli utenti loggati:

tell the application "iTunes" to quit

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

Qualche suggerimento?

    
posta pettifoggist 11.06.2012 - 19:35
fonte

2 risposte

0

Il problema è che il tuo Applescript viene eseguito nel contesto dell'utente corrente e non può accedere a iTunes in esecuzione in altri account. Un modo per chiudere / terminare tutti i processi iTunes in esecuzione sarebbe (in Terminale)

sudo killall -sm iTunes

ma questo potrebbe lasciare i meta dati di iTunes in uno stato inconsistente (il che significa tempi di avvio più lunghi la prossima volta che avvierai iTunes e una potenziale perdita di dati).

    
risposta data 11.06.2012 - 21:21
fonte
1

Utilizza la direttiva do shell script in AppleScript:

do shell script "sudo killall iTunes"

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

Dovrai assicurarti di poter eseguire sudo killall senza password.

    
risposta data 12.06.2012 - 00:31
fonte

Leggi altre domande sui tag