10 votes

Ignorer la demande d'empêcher la mise en veille d'une application spécifique

J'ai parfois le problème que mon macbook ne se met pas en veille, même avec le couvercle fermé. Après quelques recherches, j'ai découvert que le problème venait de l'application Spotify ; lorsque l'application est ouverte, même si aucune chanson n'est en cours de lecture, mon macbook ne se met pas en veille et finit par se retrouver à court de batterie. Je n'ai pas besoin que Spotify maintienne mon Mac en éveil (pour des raisons évidentes, je suis d'accord avec un lecteur vidéo ou un jeu à la place) ; y a-t-il un moyen d'ignorer sa demande d'empêcher la mise en veille sans affecter les autres applications ? Je sais que je peux arrêter spotify quand je ne l'utilise pas, mais j'ai tendance à l'oublier et c'est très ennuyeux de voir mon mac complètement vidé...

EDIT : pour être plus clair, je ne cherche pas une solution pour Spotify spécifiquement (je pourrais simplement le désinstaller et l'oublier), je cherche juste une option qui est par défaut à la fois dans Linux et Windows, c'est-à-dire que l'utilisateur écrase toujours n'importe quel paramètre lorsqu'il/elle ferme le couvercle.

2voto

atreeon Points 268

Pour déclencher manuellement une mise en veille sur l'ordinateur et passer outre les applications "empêchant la mise en veille", exécutez la commande suivante

pmset sleepnow

dans le terminal

Editar

Je suis d'accord, la spécification Apple est défectueuse, Apple doit y remédier !!! Il devrait certainement y avoir un moyen d'outrepasser l'option "empêcher le sommeil" à l'échelle du système, mais la solution ci-dessus est la meilleure. solution de rechange J'ai trouvé...

...et si vous voulez quelque chose qui fait un peu plus de vérifications (certaines applications que j'ai découvertes empêchent encore de dormir avec la commande ci-dessus)

function slp2 {
  #add a list of programs here that you will always wish to close
  pkill -x qemu-system-i386
  pkill -x qemu-system-x86_64
  sleep 2
  assertion=$(pmset -g assertions | egrep 'PreventUserIdleSystemSleep');
  canSleep=${assertion:34:1};
  if [ $canSleep != "0" ]; then
    say "cannot sleep, please close offending applications"
  else
    pmset displaysleepnow
    say "goodnight, rest well"
  fi
}

Vous pouvez également l'assigner à une commande Keyboard Maestro afin de ne pas avoir à ouvrir un terminal et à taper. Keyboard Maestro dispose d'un déclencheur de mise en veille du système (il existe peut-être d'autres commandes, comme la fermeture du couvercle) qui peut vous aider davantage.

1voto

Graham Miln Points 39606

Votre MacBook doit toujours rester en veille lorsque le couvercle est fermé. Si votre Mac ne dort pas avec le couvercle fermé, cela suggère un problème.

Il y a des exceptions :

  • Certains MacBooks peuvent être branchés sur des écrans externes et, une fois connectés, le couvercle du MacBook peut être fermé en toute sécurité sans déclencher la mise en veille de l'ensemble du système.

  • Auparavant, il était possible d'installer une extension de noyau tierce pour modifier le comportement de MacOS et de l'adapter à l'environnement. ne plus dormir avec le couvercle fermé . Cette pratique comporte des risques et doit être évitée.

Blocage du sommeil

Il est difficile pour les processus de l'espace utilisateur de bloquer le sommeil. Les assertions de sommeil ne doivent jamais bloquer un sommeil initié par l'utilisateur, que ce soit en fermant le couvercle ou en demandant un sommeil au Finder. Utiliser les assertions pmset pour visualiser les affirmations de puissance actuelles :

pmset -g assertions

1voto

matthieu Points 111

J'ai parfois ce problème avec Spotify. Une application peut bloquer le sommeil même lorsque le couvercle de l'ordinateur portable est fermé, par exemple en appelant :

[[NSProcessInfo processInfo] beginActivityWithOptions:NSActivityUserInitiated reason:@"Good Reason"];

Je suppose que nous ne devrions pas faire cela pour éviter AppNap, mais la documentation n'est pas très claire.

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