Como posso alternar a comutação automática de gráficos usando o terminal?

Tenho um MacBook Pro 15 “de maio de 2019 com uma placa gráfica Radeon Pro 555X 4 GB. Gostaria de trocar o Automatic Graphics Switching configuração com um comando de terminal.

Resposta

Fiz algumas pesquisas no Google e não sei um utilitário de linha de comando nativo ou um utilitário de linha de comando de terceiros, que pode alternar o estado de comutação automática de gráficos; no entanto, isso pode ser feito a partir do comando linha utilizando AppleScript para alternar o [√] Troca automática de gráficos caixa de seleção no Economia de energia painel em Preferências do sistema .

Em vez de encontrar um utilitário de linha de comando nativo , ou um utilitário de linha de comando de terceiros, ou até uma resposta melhor r for postado, o seguinte permitirá que você alterne a partir da linha de comando em, por exemplo Terminal .

  1. Em Terminal , use o seguinte comando composto para criar o arquivo e abra-o:

    touch togags; open togags 
  2. Copie e cole o exemplo AppleScript código , mostrado mais abaixo, no togags arquivo .

  3. Salve e feche o arquivo .

  4. Crie o arquivo executável :

    chmod u+x togags 

Eu usei togags para: [tog]gle [a]utomatic [g]raphics [s]witching

Agora você pode usá-lo a partir do diretório it ” s em usar ./togags, caso contrário ; no entanto, é melhor colocar em um diretório que esteja dentro de sua PATH instrução . Em seguida, ele pode ser usado de qualquer lugar por apenas togags, (ou o que você realmente nomeou de executável ).

NOTA: Isso também exigirá o fornecimento de Terminal privilégios de acessibilidade para que funcione corretamente.

Executar o comando duas vezes para mostrar sua saída:

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

O seguinte exemplo AppleScript código , foi testado e funciona como codificado no macOS High Sierra . Uma pequena alteração pode ser necessária para macOS Mojave ; no entanto, não consigo testar no momento. O mesmo vale para versões anteriores do OS X / macOS.

Exemplo AppleScript código :

#!/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 

Observação: o exemplo AppleScript código é apenas isso e diferente do que “s já codificado, ele não contém nenhum tratamento de erro adicional conforme apropriado. A responsabilidade recai sobre o usuário para adicionar qualquer tratamento de erro conforme apropriado, necessário ou desejado. Dê uma olhada na instrução try e error instrução no Guia de linguagem AppleScript . Consulte também Trabalho com erros .

Comentários

  • Eu coloquei no diretório /usr/local/bin e funciona muito bem!
  • @Dev, por favor, não perca seu tempo tentando editar minhas respostas da maneira que você ' tentou fazer este, eu apenas rejeitarei suas edições como esta todas as vezes!

Resposta

O comando sudo pmset -a gpuswitch n definirá a troca de gráficos, com os seguintes valores para n:

  • 2 é gpu integrado tanto no cabo quanto na bateria

  • 1 é gpu dedicado apenas com energia conectado; GPU integrado com energia da bateria

  • 0 é GPU dedicado tanto em CA quanto em bateria

pmset -g mostrará a configuração atual.

Comentários

  • Para mim, executando Catalina em um macbook pro 16 de 2019 ", o valor 2 é AMD Radeon Pro no cabo e na bateria, 0 é Intel UHD Graphics no cabo e na bateria de alguma forma invertido
  • O valor 1 está agindo de forma estranha, não tenho certeza do que está fazendo, parece alternar entre a placa de vídeo aleatoriamente
  • Parece que 1 é a verdadeira troca automática de gráficos determinada pelo sistema operacional, mas não ' t segue a fonte de alimentação. Usei support.apple.com/en-us/HT202053 para descobrir qual placa gráfica está usando

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *