Jak mogę przełączyć automatyczne przełączanie grafiki za pomocą terminala?

Mam 15-calowego MacBooka Pro z maja 2019 r. z kartą graficzną Radeon Pro 555X 4 GB. Chciałbym zmienić Automatic Graphics Switching za pomocą polecenia terminala.

Odpowiedź

Trochę googlowałem i nie wiem natywne narzędzie wiersza poleceń lub narzędzie wiersza poleceń innej firmy, które może przełączać stan automatycznego przełączania grafiki; jednak można to zrobić za pomocą polecenia linia przy użyciu AppleScript do przełączania [√] Automatyczne przełączanie grafiki pole wyboru na Oszczędzanie energii okienko w Preferencjach systemowych .

Zamiast znaleźć natywne narzędzie wiersza poleceń lub narzędzie wiersza poleceń innej firmy, albo do czasu uzyskania lepszej odpowiedzi r zostanie opublikowany, poniższe umożliwią Ci przełączanie go z wiersza poleceń w np. Terminal .

  1. W Terminal , użyj następującego polecenia złożonego , aby utworzyć plik i otwórz go:

    touch togags; open togags 
  2. Skopiuj i wklej przykład AppleScript kod , pokazany poniżej, w otwartym togags plik .

  3. Zapisz i zamknij plik .

  4. Utwórz plik wykonywalny :

    chmod u+x togags 

Użyłem togags for: [tog]gle [a]utomatic [g]raphics [s]witching

Możesz go teraz używać z katalogu it ” korzystamy z ./togags w przeciwnym razie ; Jednak najlepiej jest umieścić go w katalogu , który znajduje się w PATH instrukcji . Następnie może być używany z dowolnego miejsca przez togags (lub jakkolwiek nazwałeś plik wykonywalny ).

UWAGA: Będzie to również wymagało podania Terminala uprawnienia dostępu , aby to działało poprawnie.

Dwukrotne uruchomienie polecenia w celu wyświetlenia wyników:

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

Poniższy przykład AppleScript kod , został przetestowany i działa zgodnie z kodem na macOS High Sierra . Niewielka zmiana może być potrzebna w przypadku macOS Mojave ; jednak obecnie nie mogę testować. To samo dotyczy starszych wersji OS X / macOS.

Przykład 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 

Uwaga: przykład AppleScript kod to tylko to i co innego „s już zakodowany, nie zawiera żadnej dodatkowej obsługi błędów, która może być odpowiednia. Na użytkowniku spoczywa obowiązek dodania obsługi błędów, jeśli jest to odpowiednie, potrzebne lub pożądane. Przyjrzyj się instrukcji spróbuj i błąd w Przewodniku językowym AppleScript . Zobacz też Praca z błędami .

Komentarze

  • Umieściłem to w katalogu /usr/local/bin i działa świetnie!
  • @Dev, nie trać czasu na próby edycji moich odpowiedzi w sposób, w jaki ' próbowałeś to zrobić, po prostu odrzucę Twoje zmiany, takie jak ta za każdym razem!

Odpowiedź

Polecenie sudo pmset -a gpuswitch n ustawi przełączanie grafiki, z następującymi wartościami n:

  • 2 jest zintegrowane z GPU zarówno na kablu, jak i na baterii

  • 1 jest dedykowane GPU tylko z zasilaniem połączony; zintegrowany procesor graficzny na zasilaniu bateryjnym

  • 0 to dedykowany procesor graficzny zarówno na zasilaczu, jak i na baterii

pmset -g pokaże aktualną konfigurację.

Komentarze

  • U mnie, gdy korzystam z Cataliny na Macbooku Pro 16 z 2019 roku ", wartość 2 to AMD Radeon Pro na kablu i baterii, 0 to grafika Intel UHD na kablu i baterii w jakiś sposób odwrócona
  • Wartość 1 działa dziwnie, nie jestem pewien, co robi, wydaje się losowo przełączać między kartą graficzną
  • Wygląda na to, że 1 to prawdziwe automatyczne przełączanie grafiki określone przez system operacyjny, o którym myślę, ale nie ' t podąża za źródłem zasilania. Użyłem support.apple.com/en-us/HT202053 , aby dowiedzieć się, której karty graficznej używa

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *