Aggiornamento *
se ottieni informazioni sul file ~ / Library / Preferences / com.apple.loginitems.plist e seleziona la casella di controllo del blocco.
Nessunamodificaverràscrittanelfile.Perciòalprossimologinnoncisarannoaggiunte.
Hoappenaprovatoquestoehafunzionato.Manonpuògarantirechequestopossaomenoessereunabuonacosadafare.Iostessouseròlamiarispostaquisotto.
Puoiimpostareun launchAgent da tenere d'occhio modifiche nel file ~ / Library / Preferences / com.apple.loginitems.plist
Nel mio esempio qui uso un launchAgent per controllare la modifica e quindi eseguire un comando per avvisarmi. In questo caso, utilizzo lo strumento di comando growlnotify
<?xml version="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>loginItems</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/growlnotify</string>
<string>-n</string>
<string>login items change</string>
<string>-m</string>
<string>login items change</string>
<string>-s</string>
</array>
<key>WatchPaths</key>
<array>
<string>/Users/USERNAME/Library/Preferences/com.apple.loginitems.plist</string>
</array>
</dict>
</plist>
In realtà l'ho fatto usando lingon che ci ha messo un po 'di pena a rendere launchAgent.
Il comando che eseguo è: /usr/local/bin/growlnotify -n "login items change" -m "login items have been changed" -s
Nota questo è un semplice esempio. E dovresti ricordare che qualsiasi modifica può richiedere poco tempo per essere scritta in plist. Ma i miei test hanno dimostrato che funziona.