La forma en que puedes lograr esto
-
Programa de control de brillo (se puede instalar a través de Homebrew o compilar desde la fuente)
- Un script de bash por usuario que establece el brillo
- Script agregado a
~/Library/LaunchAgents
y cargado con launchd
O
Hay un método AppleScript que puede utilizar en lugar de usar la referencia del programa de brillo anterior. No soy un fanático de este método porque no he encontrado que AppleScript sea tan confiable como bash (las cosas se rompen cuando Apple hace actualizaciones). Desplácese hasta la parte inferior para obtener más información.
Instalar Brillo
Si tiene Homebrew, ejecute el comando brew install brightness
. Si se completa desde la fuente, descargue desde el enlace provisto y luego compile.
cd /brightness ---- (or whereever you downloaded the source)
make
sudo make install
Pruébelo emitiendo algunos comandos de brillo:
brightness 1 <------- set to 100%
brightness .5 <------- set to 50%
Escriba un script de bash que se ejecutará cuando inicie sesión
#!/bin/bash
/<path-to-brightness>/brightness .75
sleep 20 # I put this here because I find lauchd needs some "time"
exit 0
Haga esto para cada usuario y coloque el script en una ubicación de fácil acceso. Por ejemplo, cree un directorio de "scripts" en el directorio de inicio de cada usuario:
/Users/<username>/Scripts/set_brightness.sh
Este es solo un ejemplo, puede colocar el script en cualquier lugar que desee, pero recuerde que necesita uno que sea ejecutable por cada usuario. Hablando de "ejecutable", asegúrese de configurar los permisos del script para que se ejecute - chmod +x set_brightness.sh
Asegúrese de realizar una prueba ejecutando el script directamente desde la línea de comandos llamándolo:
$ ./set_brightness.sh
El brillo de la pantalla debería cambiar a la configuración del script (asegúrate de cambiar la configuración manualmente primero para asegurarte de que no la estás cambiando a lo que ya está).
Cree un archivo .plist y cargue para iniciar
Su .plist se ejecutará cada vez que inicie sesión, por lo que debe estar ubicado en el directorio ~ / Library / LaunchAgents. En cuanto al nombre de archivo, mi preferencia es usar algo como lo siguiente:
com.user.setbrightness.plist
La .plist debería verse así:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.brightness</string>
<key>KeepAlive</key>
<key>RunAtLoad</key>
<true/>
<key>Program</key>
<string>/Users/<username>/<location of script>/set_brightness.sh
</dict>
</plist>
Cargar .plist para launchd
launchctl load com.user.brightness.plist
Haga esto para cada usuario de modo que cada vez que el usuario inicie sesión ejecutará el script de bash configurando el brillo automáticamente.
Método alternativo (para monitores 5K) 1
También puedes hacer esto a través de AppleScript y omitir el programa de brillo por completo (lo probé en un iMac que no es de 5K y ejecuta 10.11.6 y funciona).
Código AppleScript:
tell application "System Preferences"
activate
reveal anchor "displaysDisplayTab" of pane id "com.apple.preference.displays"
tell application "System Events"
delay 1
set value of slider 1 of group 1 of tab group 1 of window 1 of process "System Preferences" to 0.5
end tell
quit
end tell
Guarde este AppleScript de la misma manera que se describe anteriormente.
Realice este cambio en su .plist (relacionado con ProgramArguments):
<key>ProgramArguments</key>
<array>
<string>osascript</string>
<string>path-to-script/set_brightness.scpt</string
</array>
1 Adaptado de esta publicación:
¿Es posible que un Applescript atenúe / suba 0% / 100% el brillo de la pantalla? en OSX 10.9 Mavericks cuando está conectado a una pantalla externa?