6 votos

¿Cómo puedo activar el cambio automático de gráficos mediante el terminal?

Tengo un 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.

10voto

benwiggy Puntos 8

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

  • 2 es la gpu integrada tanto en el cable como en la batería

  • 1 es la gpu dedicada sólo con la energía conectada; la gpu integrada con la energía de la batería

  • 0 es la gpu dedicada tanto en ac como en batería

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

0 votos

En mi caso, ejecutando Catalina en un macbook pro 2019 de 16", el valor 2 es AMD Radeon Pro tanto en el cable como en la batería, el 0 es Intel UHD Graphics tanto en el cable como en la batería de alguna manera invertida

1 votos

El valor 1 está actuando de manera extraña, no estoy seguro de lo que está haciendo, parece alternar entre la tarjeta gráfica al azar

0 votos

Parece que la 1 es verdadera conmutación automática de gráficos determinada por el SO creo pero no sigue la fuente de alimentación. He utilizado support.apple.com/es-us/HT202053 para saber qué tarjeta gráfica está utilizando

3voto

UnixCoon Puntos 23

Encuentro esto https://discussions.apple.com/thread/8160651 pero no coincide con mi MacBook 2018 con macOS Mojave 10.14

0 = Does not use dedicated graphics
1 = Use dedicated graphics
2 = Switch automaticly is default value when "Automatic Graphics Switching" selected in energy in preference.

El -a -b -c -u banderas determinan si los ajustes se aplican a la batería -b cargador (de pared) -c , UPS -u o todos -a

Comprobar los ajustes en función del cargador/batería pmset -g custom

Permitir que el sistema utilice la tarjeta gráfica dedicada cuando el plugin de cargador sudo pmset -c gpuswitch 1

Permitir que el sistema utilice el interruptor automático de la tarjeta gráfica cuando se utiliza la batería sudo pmset -b gpuswitch 2

Deje que el sistema utilice el interruptor automático en el cargador y la batería sudo pmset -a gpuswitch 2

1voto

user3439894 Puntos 5883

He buscado en Google y no conozco ninguna utilidad nativa de línea de comandos o un tercero utilidad de línea de comandos que puede conmutar el estado del cambio automático de gráficos; sin embargo, se puede hacer desde el línea de comandos utilizando AppleScript para alternar el [] Conmutación automática de gráficos casilla de verificación en el Ahorro de energía panel en Preferencias del sistema .

En lugar de encontrar un utilidad nativa de línea de comandos o un tercero utilidad de línea de comandos o hasta que se publique una respuesta mejor, lo siguiente le permitirá alternarlo desde el línea de comandos en, por ejemplo Terminal .

  1. En Terminal utilice lo siguiente comando compuesto para crear el archivo y abrirlo:

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

  3. Guarde y cierre el archivo .

  4. Haga que el archivo ejecutable :

    chmod u+x togags

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

Ahora puede utilizarlo desde el directorio es en el uso de ./togags De lo contrario, /path/to/togags sin embargo, es mejor que lo coloques en un directorio que está dentro de su PATH declaración . Luego se puede utilizar desde cualquier lugar con sólo togags (o lo que sea que haya nombrado el ejecutable ).

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

La ejecución de la comando dos veces, para mostrar su salida:

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

Lo siguiente ejemplo AppleScript código fue probado y me funciona tal y como está codificado en MacOS High Sierra . Un cambio menor puede ser necesario para MacOS Mojave Sin embargo, no puedo probarlo en este momento. Lo mismo ocurre con las versiones más antiguas 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: El ejemplo AppleScript código es sólo eso y, aparte de lo que ya está codificado, no contiene ninguna gestión de errores adicional que pueda ser apropiada. Es responsabilidad del usuario añadir cualquier gestión de errores que sea apropiada, necesaria o deseada. Eche un vistazo al pruebe con declaración y error declaración en el Guía del lenguaje AppleScript . Véase también, Trabajar con errores .

1 votos

Lo puse en el /usr/local/bin ¡directorio y funciona muy bien!

0 votos

@Dev, por favor, no pierdas tu tiempo intentando editar mis respuestas de la forma en que has intentado hacer esta, ¡solo rechazaré tus ediciones como esta cada vez!

0voto

user956609 Puntos 11

Usando esta aplicación: gfxCardStatus , puedes cambiar a la tarjeta que quieras.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X