Jeg har en 15 «MacBook Pro fra mai 2019 med et Radeon Pro 555X 4 GB grafikkort. Jeg vil endre Automatic Graphics Switching
innstilling med en terminalkommando.
Svar
Jeg googlet litt, og jeg vet ikke om et eget kommandolinjeprogram eller et tredjeparts kommandolinjeprogram som kan veksle mellom tilstanden til automatisk grafisk bytte, men det kan gjøres fra kommandoen linje ved å bruke AppleScript for å veksle mellom [√] Automatisk grafisk bytte avkrysningsrute på Energisparer rute i Systemvalg .
I stedet for å finne en native command line utility , eller et tredjeparts command line utility , eller til et bedre svar r er lagt ut, vil følgende tillate deg å veksle den fra kommandolinjen i f.eks. Terminal .
-
I Terminal , bruk følgende sammensatte kommando for å opprette filen og åpne den:
touch togags; open togags
-
Kopier og lim inn eksemplet AppleScript kode , vist lenger nedenfor, i den åpnede
togags
fil . -
Lagre og lukk fil .
-
Lag -filen kjørbar :
chmod u+x togags
Jeg brukte togags
for: [tog]gle [a]utomatic [g]raphics [s]witching
Du kan nå bruke den fra katalogen it » s ved å bruke ./togags
ellers ; det er imidlertid best hvis du plasserer i en katalog som er i PATH
uttalelsen . Deretter kan den brukes hvor som helst av bare togags
, (eller hva du faktisk kalte kjørbar ).
MERK: Dette vil også kreve å gi Terminal tilgjengelighetsrettigheter for at dette skal fungere skikkelig.
Kjører kommandoen to ganger for å vise utdataene:
$ togags Automatic Graphics Switching is: OFF $ togags Automatic Graphics Switching is: ON $
Følgende eksempel AppleScript kode , ble testet og fungerer meg som kodet på macOS High Sierra . En mindre endring kan være nødvendig for macOS Mojave ; Imidlertid er jeg ikke i stand til å teste for tiden. Det samme gjelder eldre versjoner av OS X / macOS.
Eksempel AppleScript kode :
#!/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
Merk: eksempel AppleScript kode er bare det og annet enn hva som er allerede kodet, inneholder den ikke ytterligere feilhåndtering som det kan være aktuelt. Det påhviler brukeren å legge til feilhåndtering som det måtte være aktuelt, nødvendig eller ønsket. Ta en titt på prøv uttalelse og feil uttalelse i AppleScript språkguide . Se også Arbeide med feil .
Kommentarer
Svar
Kommandoen sudo pmset -a gpuswitch n
vil sette grafikkbyttingen, med følgende verdier for n:
-
2 er integrert GPU både på kabel og batteri
-
1 er dedikert GPU bare med strøm tilkoblet; integrert GPU på batteristrøm
-
0 er dedikert GPU på både vekselstrøm og batteri
pmset -g
viser deg den gjeldende konfigurasjonen.
Kommentarer
- For meg kjører Catalina på en 2019 macbook pro 16 ", verdi 2 er AMD Radeon Pro på både kabel og batteri, 0 er Intel UHD-grafikk på både kabel og batteri på en eller annen måte reversert
- Verdien 1 virker merkelig, ikke sikker på hva den gjør, ser ut til å veksle mellom grafikkortet tilfeldig
- Det virker som om 1 er ekte automatisk grafisk bytte bestemt av operativsystemet tror jeg, men det følger ikke ' strømkilden. Jeg brukte support.apple.com/en-us/HT202053 for å finne ut hvilket grafikkort det bruker
/usr/local/bin
-katalogen, og det fungerer bra!