Am un MacBook Pro de 15 „din mai 2019 cu o placă grafică Radeon Pro 555X 4 GB. Aș dori să schimb Automatic Graphics Switching
setare cu o comandă terminal.
Răspuns
Am făcut câteva căutări și nu știu de un utilitar de linie de comandă nativ sau un utilitar de linie de comandă terță parte, care poate comuta starea comutării grafice automate; totuși se poate face din comanda linie utilizând AppleScript pentru a comuta [√] Comutare grafică automată casetă de selectare pe Economizor de energie pane în Preferințe sistem .
În loc să găsiți un utilitar nativ de linie de comandă sau un terț utilitar linie de comandă sau până la o răspuns mai bună r este postat, următoarele vă vor permite să îl comutați din linia de comandă în de ex. Terminal .
-
În Terminal , utilizați următoarea comandă compusă pentru a crea fișierul și deschideți-l:
touch togags; open togags
-
Copiați și lipiți exemplu AppleScript cod , afișat mai jos, în
togags
fișier . -
Salvați și închideți fișier .
-
Creați fișierul executabil :
chmod u+x togags
Am folosit togags
pentru: [tog]gle [a]utomatic [g]raphics [s]witching
Acum îl puteți utiliza din director it ” folosind ./togags
în caz contrar ; cu toate acestea, este cel mai bine dacă introduceți un director care se află în PATH
declarația . Apoi, poate fi folosit de oriunde doar de togags
, sau de orice alt nume pe care l-ați numit executabil ).
NOTĂ: Acest lucru va necesita, de asemenea, acordarea Terminal privilegii de accesibilitate pentru ca acest lucru să funcționeze corect.
Executând comanda de două ori, pentru a afișa ieșirea:
$ togags Automatic Graphics Switching is: OFF $ togags Automatic Graphics Switching is: ON $
Următorul exemplu AppleScript cod , a fost testat și funcționează ca codificat pe macOS High Sierra . Este posibil să fie necesară o modificare minoră pentru macOS Mojave ; cu toate acestea, în prezent nu pot testa. Același lucru este valabil și pentru versiunile mai vechi de OS X / macOS.
Exemplu 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
Notă: exemplu AppleScript cod este doar asta și altele decât ce deja codificat, nu conține nicio manipulare suplimentară a erorilor, după cum ar putea fi adecvat. Funcția revine utilizatorului să adauge orice gestionare a erorilor, după caz, necesară sau dorită. Aruncați o privire la încercați declarație și eroare declarație în AppleScript Language Guide . A se vedea, de asemenea, Lucrul cu erori .
Comentarii
Răspuns
Comanda sudo pmset -a gpuswitch n
va seta comutarea grafică, cu următoarele valori pentru n:
-
2 este gpu integrat atât pe cablu cât și pe baterie
-
1 este dedicat gpu numai cu alimentare conectat; gpu integrat pe baterie
-
0 este dedicat atât pe c.a., cât și pe baterie
pmset -g
vă va arăta configurația curentă.
Comentarii
- Pentru mine, rulând Catalina pe un macbook pro 16 2019 ", valoarea 2 este AMD Radeon Pro atât pe cablu, cât și pe baterie, 0 este grafică Intel UHD atât pe cablu, cât și pe baterie inversată într-un fel.
- Se pare că 1 este o adevărată comutare grafică automată determinată de sistemul de operare cred, dar nu ' nu urmărește sursa de alimentare. Am folosit support.apple.com/en-us/HT202053 pentru a afla ce placă grafică folosește
/usr/local/bin
și funcționează excelent!