Avant la mise à jour vers Catalina (10.15.1), mon agent basé sur un bash script fonctionnait parfaitement.
J'avais paramétré l'agent afin d'exécuter le bash script au démarrage. Voici le fichier 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>mark.battery.info</string>
<key>Program</key>
<string>/Users/mark/Dropbox/Exec/BatteryInfoOnBoot.sh</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Après la dernière mise à jour, j'ai remarqué que le script (BatteryInfoOnBoot.sh) n'était plus chargé au démarrage et si j'exécute la commande :
launchctl list | grep mark
- 1 mark.battery.info
J'ai lu que le statut 1 signifie :
PID - Le statut 1 signifie que le processus n'a pas suffisamment de privilèges pour accéder à certains fichiers
Le script BatteryInfoOnBoot est très simple :
#!/bin/bash
echo "~~~~~~~~~" >> /Users/mark/Documents/battery-log.txt
date >> /Users/mark/Documents/battery-log.txt
/Users/mark/Dropbox/Exec/BatteryInfo.sh >> /Users/mark/Documents/battery-log.txt
Au lieu de cela, BatteryInfo.sh est utilisé uniquement pour obtenir quelques informations utiles :
#!/bin/bash
echo "Current battery percentage:"
pmset -g batt | grep -Eo "\d+%" | cut -d% -f1
echo ""
echo "Cycle count:"
system_profiler SPPowerDataType | grep "Cycle Count"
echo ""
echo "Capacity stats:"
ioreg -brc AppleSmartBattery | grep -i capacity | grep -v Legacy | grep -v BatteryData | grep -v AppleRaw
echo ""
PS : le script fonctionne toujours si je l'exécute manuellement :
/Users/mark/Dropbox/Exec/BatteryInfoOnBoot.sh
Des suggestions ?