¿Cómo puedo alternar el cambio automático de gráficos usando la terminal?

Tengo una MacBook Pro de 15 «de mayo de 2019 con una tarjeta gráfica Radeon Pro 555X de 4 GB. Me gustaría cambiar la Automatic Graphics Switching con un comando de terminal.

Responder

Busqué en Google y no sé una utilidad de línea de comando nativa , o una utilidad de línea de comando de terceros, que puede alternar el estado del cambio automático de gráficos; sin embargo, se puede hacer desde el comando línea utilizando AppleScript para alternar el [√] Cambio automático de gráficos casilla de verificación en el Energy Saver panel en Preferencias del sistema .

En lugar de encontrar un utilidad de línea de comandos nativa , o una utilidad de línea de comandos de terceros, o hasta que se obtenga una mejor respuesta r está publicado, lo siguiente le permitirá alternarlo desde la línea de comando en p. ej. Terminal .

  1. En Terminal , use el siguiente comando compuesto para crear el archivo y ábralo:

    touch togags; open togags 
  2. Copie y pegue el ejemplo AppleScript código , que se muestra más abajo, en el togags archivo .

  3. Guarde y cierre el archivo .

  4. Cree el archivo ejecutable :

    chmod u+x togags 

Usé togags para: [tog]gle [a]utomatic [g]raphics [s]witching

Ahora puede usarlo desde el directorio it » s en el uso de ./togags de lo contrario ; sin embargo, es mejor si lo coloca en un directorio que «está dentro de su PATH declaración . Luego, se puede usar desde cualquier lugar con solo togags, (o como sea que hayas llamado el ejecutable ).

NOTA: Esto también requerirá proporcionar Terminal privilegios de accesibilidad para que esto funcione correctamente.

Ejecutando el comando dos veces, para mostrar su salida:

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

El siguiente ejemplo AppleScript código , se probó y funciona como codificado en macOS High Sierra . Es posible que se necesite un pequeño cambio para macOS Mojave ; sin embargo, no puedo realizar la prueba en este momento. Lo mismo ocurre con las versiones anteriores de OS X / macOS.

Ejemplo 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 

Nota: La ejemplo AppleScript código es solo eso y más allá de lo que «s ya codificado, no contiene ningún manejo de errores adicional que pueda ser apropiado. El usuario tiene la responsabilidad de agregar cualquier manejo de errores que sea apropiado, necesario o deseado. Eche un vistazo a la declaración try y error declaración en la Guía del lenguaje AppleScript . Consulte también Trabajar con errores .

Comentarios

  • Lo puse en el directorio /usr/local/bin y funciona muy bien.
  • @Dev, no pierdas el tiempo intentando editar mis respuestas de la manera en que ' has intentado hacer esto, ¡simplemente rechazaré tus ediciones como esta cada vez!

Responder

El comando sudo pmset -a gpuswitch n establecerá el cambio de gráficos, con los siguientes valores para n:

  • 2 es gpu integrado tanto en cable como en batería

  • 1 es gpu dedicado solo con energía conectado; gpu integrado con batería

  • 0 es gpu dedicado tanto en ca como en batería

pmset -g le mostrará la configuración actual.

Comentarios

  • Para mí, ejecutar Catalina en un macbook pro 16 2019 ", el valor 2 es AMD Radeon Pro tanto en el cable como en la batería, 0 es Intel UHD Graphics en el cable y la batería de alguna manera invertida
  • El valor 1 está actuando de forma extraña, no estoy seguro de lo que está haciendo, parece alternar entre la tarjeta gráfica al azar
  • Parece que 1 es el cambio automático de gráficos real determinado por el sistema operativo, creo, pero no ' sigue la fuente de alimentación. Usé support.apple.com/en-us/HT202053 para averiguar qué tarjeta gráfica está usando

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *