Assistenza LaunchDaemon

0

Ho il seguente script .sh che cancella Sierra, al momento del download, dall'App store. Questo vale per qualsiasi utente su mac osx 10.10 o 10.11.

Tuttavia, qualcuno può aggiungere il codice in modo che l'app (sierra.app) in realtà cancelli non appena inizia il download rispetto a quando il download è finito, cosa che fa attualmente.

Inoltre, il messaggio di visualizzazione OS non viene visualizzato una volta eliminato. Come posso farlo funzionare?

Ecco lo script.

#!/bin/bash

Version=$(sw_vers | grep ProductVersion | tail -c 7 | cut -d . -f 2)    

if [[ $Version -ge 12 ]]
then  
launchctl unload /Library/LaunchDaemons/net.infor.sierra.plist
rm -f /Library/LaunchDaemons/net.infor.sierra.plist
rm -f /usr/local/bin/sierra.sh
exit 0

else
rm -rf /Applications/Install\ macOS\ Sierra.app/
osascript -e 'tell app "System Events" to display dialog "macOS sierra is not allowed on computers at this time." with title "Technology Notice" buttons {"OK"} default button "OK" giving up after 30'
fi

Ecco il plist.

<?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>net.infor.sierra.plist</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/sierra.sh</string>
</array>
<key>KeepAlive</key>
<dict>
<key>PathState</key>
<dict>
    <key>/Applications/Install macOS Sierra.app/</key>
    <true/>
</dict>
</dict>
<key>OnDemand</key>
<true/>
</dict>
</plist>
    
posta sql1 22.09.2016 - 16:05
fonte

1 risposta

1

non è davvero una risposta, ma forse un suggerimento su dove andare dopo ...

Per catturarlo prima, devi intercettarlo nella cartella di download. Direi che il nome della cartella sarà diverso per tutti: il mio è a
/private/var/folders/nc/c83zpk8x7kd9qrxrd3nnbfym0000gn/C/com.apple.appstore

Puoi trovarlo dall'app App Store > Debug > Mostra cartella download ... se abiliti il menu debug con
defaults write com.apple.appstore ShowDebugMenu -bool true

    
risposta data 22.09.2016 - 16:24
fonte

Leggi altre domande sui tag