Jag har en 15 ”MacBook Pro från maj 2019 med ett Radeon Pro 555X 4 GB grafikkort. Jag vill ändra Automatic Graphics Switching
inställning med ett terminalkommando.
Svar
Jag googlade lite och jag vet inte om ett inbyggt kommandoradsverktyg , eller ett tredjeparts kommandoradsverktyg som kan växla tillståndet för automatisk grafisk växling, men det kan göras från kommandot rad genom att använda AppleScript för att växla mellan [√] Automatisk grafisk växling kryssrutan i Energisparläge ruta i Systeminställningar .
I stället för att hitta en inbyggt kommandoradsverktyg eller ett kommandoradsverktyg från tredje part eller tills ett bättre svar r publiceras, följande låter dig växla från kommandoraden i t.ex. Terminal .
-
I Terminal , använd följande sammansatta kommando för att skapa -fil och öppna den:
touch togags; open togags
-
Kopiera och klistra in exempel AppleScript kod , visas längre ner, i den öppnade
togags
fil . -
Spara och stäng fil .
-
Gör körbar :
chmod u+x togags
Jag använde togags
för: [tog]gle [a]utomatic [g]raphics [s]witching
Du kan nu använda den från katalogen it ” s använder ./togags
annars ; det är dock bäst om du placerar i en katalog som finns i ditt PATH
uttalande . Sedan kan den användas var som helst med bara togags
, (eller vad du än egentligen heter körbar ).
OBS: Detta kräver också att Terminal tillgänglighetsbehörigheter för att detta ska fungera ordentligt.
Kör kommandot två gånger för att visa dess resultat:
$ togags Automatic Graphics Switching is: OFF $ togags Automatic Graphics Switching is: ON $
Följande exempel AppleScript kod , testades och fungerar mig som kodad på macOS High Sierra . En mindre ändring kan behövas för macOS Mojave ; dock kan jag inte testa just nu. Detsamma gäller för äldre versioner av OS X / macOS.
Exempel AppleScript kod :
#!/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
Obs! exempel AppleScript kod är just det och annat än vad redan kodad innehåller den inte ytterligare felhantering som kan vara lämpligt. Det åligger användaren att lägga till felhantering som kan vara lämpligt, nödvändigt eller önskat. Ta en titt på försök uttalande och fel uttalande i AppleScript-språkguide . Se även Arbeta med fel .
Kommentarer
Svar
Kommandot sudo pmset -a gpuswitch n
ställer in grafikomkopplingen, med följande värden för n:
-
2 är integrerad GPU både på kabel och batteri
-
1 är dedikerad GPU endast med ström ansluten; integrerad GPU på batteriström
-
0 är dedikerad GPU på både AC och batteri
pmset -g
visar den aktuella konfigurationen.
Kommentarer
- För mig kör Catalina på en 2019 macbook pro 16 ", värde 2 är AMD Radeon Pro på både kabel och batteri, 0 är Intel UHD-grafik på både kabel och batteri på något sätt omvänd
- Värdet 1 fungerar konstigt, inte säker på vad det gör, verkar växla mellan grafikkortet slumpmässigt
- Det verkar som om 1 är riktig automatisk grafikbyte bestämd av operativsystemet tror jag men det ' t följer strömkällan. Jag använde support.apple.com/en-us/HT202053 för att ta reda på vilket grafikkort det använder
/usr/local/bin
-katalogen och det fungerar bra!