0 votes

Assistance au lancement de Daemon

J'ai le .sh script suivant qui supprime Sierra, lors du téléchargement, de l'App store. Ceci s'applique à tout utilisateur sur mac osx 10.10 ou 10.11.

Cependant, quelqu'un peut-il ajouter le code pour que l'application (sierra.app) soit supprimée dès qu'elle commence à télécharger et non pas à la fin du téléchargement comme c'est le cas actuellement ?

De plus, le message d'affichage osascript ne s'affiche plus une fois qu'il a été supprimé. Comment faire pour que cela fonctionne ?

Voici le 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

Voici le 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>

0 votes

Ce n'est pas une réponse, juste un commentaire, mais pour info, au lieu d'utiliser 3 tuyaux et trois services publics pour traiter le sortie de sw_vers c'est-à-dire sw_vers | grep ProductVersion | tail -c 7 | cut -d . -f 2 il suffit d'utiliser awk par lui-même pour faire tout ce que grep , tail y cut font, par exemple : Version=$(sw_vers | awk '{FS = "."};/ProductVersion/{print $2}')

0 votes

Les démons fonctionnent sans interface graphique. Les agents peuvent s'attacher au serveur de fenêtres.

0 votes

Fd0 Comment se fait-il que lorsque je crée un test script pour créer un répertoire appelé Installer MacOS Sierra.app non seulement le .app est supprimé mais le message splash apparaît ?

1voto

Tetsujin Points 95239

Ce n'est pas vraiment une réponse, mais peut-être un indice pour savoir où aller ensuite...

Pour l'attraper plus tôt, il faudrait l'intercepter dans le dossier de téléchargement. Je suppose que le nom du dossier sera différent pour tout le monde - le mien est à
/private/var/folders/nc/c83zpk8x7kd9qrxrd3nnbfym0000gn/C/com.apple.appstore

Vous pouvez le trouver à partir de l'app App Store > Debug > Show Download Folder... si vous activez le menu de débogage avec
defaults write com.apple.appstore ShowDebugMenu -bool true

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X