Comment puis-je activer la commutation graphique automatique à laide du terminal?

Jai un MacBook Pro 15 « de mai 2019 avec une carte graphique Radeon Pro 555X 4 Go. Je souhaite changer le Automatic Graphics Switching avec une commande de terminal.

Réponse

Jai fait quelques recherches sur Google, et je ne sais pas un utilitaire de ligne de commande natif , ou un utilitaire de ligne de commande tiers, qui peut basculer létat de la commutation graphique automatique; toutefois, cela peut être fait à partir de la commande ligne en utilisant AppleScript pour basculer le [√] Commutation graphique automatique case à cocher sur Energy Saver volet dans Préférences Système .

Au lieu de trouver un utilitaire de ligne de commande natif , ou un utilitaire de ligne de commande tiers, ou en attendant une meilleure réponse r est publié, ce qui suit vous permettra de le basculer depuis la ligne de commande par exemple Terminal .

  1. Dans Terminal , utilisez la commande composée suivante pour créer le fichier et ouvrez-le:

    touch togags; open togags 
  2. Copiez et collez l exemple AppleScript code , illustré ci-dessous, dans le togags fichier .

  3. Enregistrez et fermez le fichier .

  4. Créez le fichier exécutable :

    chmod u+x togags 

Jai utilisé togags pour: [tog]gle [a]utomatic [g]raphics [s]witching

Vous pouvez désormais lutiliser à partir du répertoire it  » s en utilisant ./togags sinon ; cependant, il est préférable de le placer dans un répertoire qui « se trouve dans votre PATH instruction . Ensuite, il peut être utilisé de nimporte où par togags, (ou tout ce que vous avez réellement nommé l exécutable ).

REMARQUE: Cela nécessitera également de donner Terminal privilèges daccessibilité pour que cela fonctionne correctement.

Exécution de la commande deux fois, pour afficher sa sortie:

$ togags Automatic Graphics Switching is: OFF $ togags Automatic Graphics Switching is: ON $ 

exemple AppleScript code , a été testé et fonctionne comme codé sur macOS High Sierra . Un changement mineur peut être nécessaire pour macOS Mojave ; cependant, je « ne suis pas en mesure de tester pour le moment. Il en va de même pour les anciennes versions dOS X / macOS.

Exemple AppleScript code :

#!/usr/bin/osascript if running of application "System Preferences" then try quit application "System Preferences" on error do shell script "killall "System Preferences"" end try end if repeat while running of application "System Preferences" is true delay 0.1 end repeat tell application "System Preferences" reveal pane id "com.apple.preference.energysaver" repeat until exists window "Energy Saver" delay 0.1 end repeat end tell tell application "System Events" to tell ¬ group 1 of window "Energy Saver" of application process "System Preferences" repeat until exists checkbox "Automatic graphics switching" delay 0.1 end repeat click checkbox "Automatic graphics switching" set cbAGS to (value of checkbox "Automatic graphics switching") as boolean end tell quit application "System Preferences" if cbAGS then return " Automatic Graphics Switching is: ON" else return " Automatic Graphics Switching is: OFF" end if 

Remarque: Le exemple AppleScript code est juste cela et autre que ce que « s déjà codé, il ne contient pas de traitement derreur supplémentaire, le cas échéant. Il incombe à lutilisateur dajouter toute gestion des erreurs qui peut être appropriée, nécessaire ou souhaitée. Jetez un œil à linstruction try et erreur instruction dans le Guide du langage AppleScript . Voir aussi Utilisation des erreurs .

Commentaires

  • Je lai mis dans le répertoire /usr/local/bin et cela fonctionne très bien!
  • @Dev, ne perdez pas votre temps à essayer de modifier mes réponses de la manière que vous ' avez essayé de faire celle-ci, je rejetterai simplement vos modifications de ce type à chaque fois!

Réponse

La commande sudo pmset -a gpuswitch n définira la commutation graphique, avec les valeurs suivantes pour n:

  • 2 est un gpu intégré à la fois sur le câble et la batterie

  • 1 est un gpu dédié uniquement avec alimentation lié; GPU intégré sur batterie

  • 0 est un GPU dédié à la fois sur le secteur et sur la batterie

pmset -g vous montrera la configuration actuelle.

Commentaires

  • Pour moi, exécuter Catalina sur un macbook pro 2019 16 ", la valeur 2 est AMD Radeon Pro sur le câble et la batterie, 0 est Intel UHD Graphics sur le câble et la batterie en quelque sorte inversé
  • La valeur 1 agit bizarrement, pas sûr de ce quelle fait, semble alterner entre la carte graphique au hasard
  • Il semble que 1 est une véritable commutation graphique automatique déterminée par le système dexploitation, je pense, mais elle ne suit ' pas la source dalimentation. Jai utilisé support.apple.com/en-us/HT202053 pour déterminer quelle carte graphique il utilise

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *