Come avviare un'applicazione dopo aver montato un disco specifico con Automator

0

Sono novizio in Automator . Esistono molti esempi per azioni semplici.

Ma non sono riuscito a trovare esempi o documentazione per l'avvio di alcune applicazioni dopo aver montato un disco specifico. Sarà molto utile al lavoro.

Qualcuno ha fatto questo?

    
posta Volodymyr Kulyk 07.04.2016 - 12:50
fonte

3 risposte

0

Il problema è stato risolto utilizzando questa ottima risposta.
Segui solo 4 semplici passaggi.

    
risposta data 07.04.2016 - 15:02
fonte
1

Elaborazione della risposta di ShooTerKo su Stack Overflow (a cui corrisponde Volodymyr Kulyk) Ho scritto il seguente script che continua il flusso di lavoro se viene trovato il triggerVolumeName. In questo modo il lancio effettivo (o qualsiasi altra azione del flusso di lavoro) può essere spostato all'esterno di Applescript:

  1. Crea una nuova azione di Automator di tipo Azione cartella
  2. Scegli la cartella Volumi del tuo sistema come input facendo clic su Altro ... nel menu a discesa Scegli cartella , premendo Cmd + Maiusc + G e digita /Volumes
  3. Come prima azione scegli Esegui Applescript
  4. Utilizza il seguente script e modifica YOUR_VOLUME_NAME in base alle tue esigenze:

    on run {input, parameters}
    
        -- define the volume name and the application to start
        set triggeringVolumeName to "YOUR_VOLUME_NAME"
    
        -- walk through all newly mounted volumes
        repeat with aMountedVolumeAlias in input
    
            -- get the volume name from the given alias
            tell application "System Events" to set mountedVolumeName to name of aMountedVolumeAlias
    
            -- compare the volume name with the defined trigger name
            if mountedVolumeName is triggeringVolumeName then
    
                -- continue workflow
                return input
    
            end if
    
        end repeat
    
        -- if repeat finished without match, cancel workflow
        error number -128
    
    end run
    
  5. Aggiungi altre azioni al flusso di lavoro, ad es. Richiedi conferma , Copia elementi del Finder o Avvia applicazione
risposta data 04.01.2019 - 10:19
fonte
0

Apri Automator e crea una nuova azione per le cartelle.

Scegli una cartella da guardare. Nel mio esempio è una pen drive installer Mavericks con il nome SystemUSBMav .

Quindi aggiungi Avvia applicazione dalla libreria di Automator e scegli un'applicazione da avviare.

Salva l'azione della cartella come Avvia sul montaggio .

Unsecondoapproccioèunagentedilancio:

Creaunfilelocal.user.mountonlaunch.plistin~/Library/LaunchAgentsconilseguentecontenuto:

<?xmlversion="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>local.user.mountonlaunch</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/open</string>
        <string>/Applications/Utilities/Disk Utility.app</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>WatchPaths</key>
    <array>
        <string>/Volumes/SystemUSBMav</string>
    </array>
</dict>
</plist>

Carica il file con:

launchctl load /Users/user_name/Library/LaunchAgents/local.user.mountonlaunch.plist

Lo svantaggio di entrambi gli approcci è che l'applicazione verrà avviata anche dopo l'espulsione del disco / volume o la modifica dei file nella directory principale del volume. Puoi circumnavigare quest'ultimo creando una cartella di controllo "falsa" bloccata sul volume.

    
risposta data 07.04.2016 - 13:49
fonte

Leggi altre domande sui tag