Ho un MacBook Pro da 15 “di maggio 2019 con una scheda grafica Radeon Pro 555X da 4 GB. Vorrei cambiare Automatic Graphics Switching
impostazione con un comando da terminale.
Risposta
Ho cercato su Google e non so una utilità della riga di comando nativa , o una utilità della riga di comando di terze parti, che può attivare o disattivare lo stato della commutazione automatica della grafica; tuttavia può essere eseguita dal comando riga utilizzando AppleScript per attivare / disattivare [√] Cambio grafico automatico casella di controllo nella Risparmio energetico riquadro in Preferenze di sistema .
Invece di trovare un utilità della riga di comando nativa , o utilità della riga di comando di terze parti, o fino a quando una risposta migliore r è pubblicato, quanto segue ti consentirà di attivarlo dalla riga di comando ad es. Terminale .
-
In Terminal , utilizza il seguente comando composto per creare il file e aprilo:
touch togags; open togags
-
Copia e incolla l esempio AppleScript codice , mostrato di seguito, nel
togags
file . -
Salva e chiudi file .
-
Crea il file eseguibile :
chmod u+x togags
Ho usato togags
per: [tog]gle [a]utomatic [g]raphics [s]witching
Ora puoi usarlo dalla directory it ” s utilizzando ./togags
altrimenti ; tuttavia, è meglio se lo inserisci in una directory che si trova allinterno della tua PATH
istruzione . Quindi può essere utilizzato da qualsiasi luogo semplicemente con togags
(o qualunque cosa tu abbia effettivamente chiamato eseguibile ).
NOTA: sarà necessario fornire anche il Terminal privilegi di accessibilità affinché funzioni correttamente.
Eseguendo il comando due volte, per mostrarne loutput:
$ togags Automatic Graphics Switching is: OFF $ togags Automatic Graphics Switching is: ON $
Il seguente esempio AppleScript codice , è stato testato e funziona come codificato su macOS High Sierra . potrebbe essere necessaria una piccola modifica per macOS Mojave ; tuttavia, al momento non sono in grado di eseguire il test. Lo stesso vale per le versioni precedenti di OS X / macOS.
Esempio AppleScript codice :
#!/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
Nota: il esempio AppleScript codice è proprio questo e altro poi cosa “s già codificato, non contiene alcuna gestione aggiuntiva degli errori che potrebbe essere appropriata. Lutente ha lonere di aggiungere qualsiasi gestione degli errori che possa essere appropriata, necessaria o desiderata. Dai unocchiata alla try e errore nella AppleScript Language Guide . Vedi anche Lavorare con gli errori .
Commenti
Risposta
Il comando sudo pmset -a gpuswitch n
imposterà la commutazione grafica, con i seguenti valori per n:
-
2 è gpu integrata sia su cavo che batteria
-
1 è gpu dedicata solo con alimentazione collegato; GPU integrata con alimentazione a batteria
-
0 è una GPU dedicata sia su CA che su batteria
pmset -g
ti mostrerà la configurazione corrente.
Commenti
- Per me, eseguendo Catalina su un macbook pro 16 2019 ", il valore 2 è AMD Radeon Pro sia su cavo che su batteria, 0 è Intel UHD Graphics su cavo e batteria in qualche modo invertita
- Il valore 1 si comporta in modo strano, non sono sicuro di cosa stia facendo, sembra alternare la scheda grafica in modo casuale
- Sembra che 1 sia un vero cambio grafico automatico determinato dal sistema operativo, credo, ma ' non segue la fonte di alimentazione. Ho usato support.apple.com/en-us/HT202053 per capire quale scheda grafica sta utilizzando
/usr/local/bin
e funziona benissimo!