7 votes

Comment désactiver l'indexation de Spotlight lorsque l'on est sur batterie ?

Chaque fois que j'ajoute quelques Mo de fichiers à mon disque SD, Spotlight commence à consommer de la batterie (selon l'impact énergétique du moniteur d'activité) pendant un à plusieurs jours pour les indexer.

Comment puis-je faire en sorte que l'indexation se désactive automatiquement lorsque l'ordinateur est alimenté par la batterie, et qu'elle soit réactivée lorsque le Macbook est alimenté par une prise secteur ?

9voto

Polo Points 574

La réponse de jherran vous aide à désactiver l'indexation Spotlight, mais ne répond pas à la partie de la question concernant le basculement automatique lorsque l'alimentation CA est connectée ou déconnectée.

Vous pouvez utiliser sudo mdutil -i off / y sudo mdutil -i on / en association avec un auditeur pour les cas où l'alimentation en courant alternatif est déconnectée. En utilisant quelque chose comme Plan de contrôle répondra à votre besoin de basculement automatique. Il prend en charge l'événement "Current power source" (source d'alimentation actuelle). Il est gratuit et open source.

Vous pourriez être opposé à l'utilisation d'une solution tierce. Pour créer votre propre solution, essayez d'écrire un script qui vérifie en boucle les éléments suivants pmset -g ps | grep -c 'AC Power' avec un intervalle de sommeil entre les deux. Si le courant alternatif est connecté, il émet 1 (0 sinon).

2voto

J'ai écrit ce script (/Users//bin/control_spotlight_indexing.sh) pour activer/désactiver l'indexation en fonction de la source d'alimentation. Je l'ai également configuré pour qu'il s'exécute en tant que Root dans un travail cron (exécuté comme /Users//bin/control_spotlight_indexing.sh >> /Users//bin/control_spotlight_indexing.log).

Les suggestions d'amélioration sont les bienvenues.

#!/bin/zsh

# Turn on Spotlight indexing by default
mdutil -i on /

# Power: 0 is battery; 1 is charger.
power=$(pmset -g ps | grep -c 'AC Power')

while [ true ] ; do

  if [ $power -eq 0 ] ; then
    # Turn off Spotlight indexing
    mdutil -i off /
    # Check every hour
    while [ $power -eq 0 ] ; do 
      time=$(/bin/date)
      echo "[$time] Battery: Spotlight indexing is OFF. Will check again 1 hour."
      sleep 3600
      power=$(pmset -g ps | grep -c 'AC Power')
    done
  fi

  if [ $power -eq 1 ] ; then
    # Turn on Spotlight indexing while on charger
    mdutil -i on /
    # Check every 10 minutes
    while [ $power -eq 1 ] ; do 
      time=$(/bin/date)
      echo "[$time] AC Power: Spotlight indexing ON. Will check again in 10 minutes."
      sleep 600
      power=$(pmset -g ps | grep -c 'AC Power')
    done
  fi

done

1voto

jherran Points 12554

Ouvrez votre Terminal et tapez ce qui suit pour désactiver.

sudo mdutil -i off /

Pour réactiver, remplacez "off" par "on".

Pour plus d'informations, vous pouvez taper

man mdutil

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