Ajustes de brillo de pantalla específicos del usuario

Un compañero de trabajo y yo compartimos un iMac (con pantallas externas). Lo uso durante el día y lo tengo relativamente brillante para compensar la luz que entra por la ventana y todo eso. Lo usa de noche y por eso lo quiere más tenue. Usamos diferentes cuentas de usuario de OS X, pero cada vez que inicio sesión después de él, el brillo se vuelve a atenuar.

¿Hay alguna manera de hacer que el brillo sea una configuración a nivel de usuario, en lugar de a nivel de sistema, como parece estar haciendo ahora?

Para que quede claro, está configurando el brillo a través de los controles en OS X, no a través de ningún control en el monitor, ¿verdad? ¿Alguna de sus cuentas está en los administradores de la computadora?
Michael, creo que he encontrado la solución más sencilla a tu problema, una que tardará tal vez dos minutos en configurarse. ¡¡Por favor, déjeme saber si funciona!!

Respuestas (3)

Puede realizar fácilmente la configuración de brillo basada en el usuario con la aplicación EasyOnTheEyes , que es gratuita y obtiene 5 estrellas en la Mac App Store.

Esto es lo que tendrás que hacer:

  1. Descarga la aplicación .
  2. Inícielo en su cuenta (la cuenta que debería tener mayor brillo) y elija Offen la barra de menú. De esta manera, no se atenuará cuando inicie sesión en su cuenta.
  3. Inicie sesión en la cuenta de su compañero de trabajo, asegúrese de que EasyOnTheEyes esté instalado y ejecutándose en la barra de menú de su cuenta (es posible que deba instalarlo nuevamente según su configuración).
  4. En Preferencias del Sistema, elija Users and Groupsy luego la Login Itemssección. Deberá agregar EasyOnTheEyes como un elemento de inicio de sesión para su cuenta, de modo que pueda atenuarse automáticamente cuando inicie sesión.
  5. Asegúrate de que su cuenta esté resaltada en el panel izquierdo (es decir, estás haciendo los cambios para su cuenta, no para la tuya). Luego presione el +botón debajo de la vista de tabla Elementos de inicio de sesión, busque EasyOnTheEyes en la carpeta Aplicaciones y haga doble clic para agregarlo a la lista de Elementos de inicio de sesión.
  6. Ahora, EasyOnTheEyesdebería aparecer en la These items will open automatically when you log inlista. Nota: Probablemente querrá marcar la Hidecasilla de verificación, para que su compañero de trabajo no se distraiga con el ícono de la aplicación que rebota cada vez que inicia sesión, pero depende de él.
  7. En la barra de menú, elija el ajuste preestablecido 1y arrastre el control deslizante hasta que a su compañero de trabajo le guste el brillo.

Eso es todo. Su compañero de trabajo tendrá una pantalla atenuada automáticamente cada vez que inicie sesión en su cuenta, pero usted no.

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 bash por usuario que establece el brillo
  • Script agregado ~/Library/LaunchAgentsy cargado conlaunchd

O

Hay un método AppleScript que puede usar 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 actualiza). Desplácese hasta la parte inferior para obtener más detalles.

Instalar Brillo

Si tiene Homebrew, emita el comando brew install brightness. Si compila desde la fuente, descargue desde el enlace proporcionado 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 bash para que se ejecute 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 cada usuario pueda ejecutar. Hablando de "ejecutable", asegúrese de configurar los permisos del script para ejecutar -chmod +x set_brightness.sh

Asegúrese de probar ejecutando el script directamente desde la línea de comando llamándolo:

$ ./set_brightness.sh

El brillo de su pantalla debería cambiar a la configuración en el script (asegúrese de cambiar la configuración manualmente primero para asegurarse de que no está cambiando a lo que ya es).


Cree un archivo .plist y cárguelo para lanzarlo

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 del archivo, mi preferencia es usar algo como lo siguiente:

com.user.setbrightness.plist


El .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>

Cargue el .plist para lanzar

launchctl load com.user.brightness.plist

Haga esto para cada usuario para que cada vez que el usuario inicie sesión, se ejecutará el script bash configurando el brillo automáticamente.


Método alternativo (para monitores 5K) 1

También puede hacer esto a través de AppleScript y omitir el programa de brillo por completo (lo probé en un iMac que no es 5K con 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 arriba.


Realice este cambio en su .plist (reemplazando Program 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/aumente el brillo de la pantalla en 0%/100% en OSX 10.9 Mavericks cuando se conecta a una pantalla externa?

así que esto no es realmente justo para ti, pero aparentemente ese paquete brightnessaún no es compatible con mi hardware github.com/nriley/brightness/issues/10#issuecomment-241805384 ¿lo conoces con tanto detalle?
Entonces, ¿tienes un iMac 5K?
Es posible que pueda hacer esto a través de applescript. Eche un vistazo a esta publicación y vea si ese script de Apple funciona para usted. Si es así, modificaré mi respuesta para tenerla en cuenta para los monitores de 5K.
Ok, entonces creo que lo tengo listo. solo necesito esperar a que un compañero de trabajo haga la prueba. (Me preocupa que esto RunAtLoadpueda resultar en que solo suceda cuando lo primero launchctl load, o solo cuando estoy iniciando sesión. No me desconecto cuando me voy, por lo que mi colega simplemente cambia de usuario. ¿Esto se ejecutará cuando estoy ¿Simplemente volvimos a cambiar? Veremos. Gracias por su ayuda. Por cierto, parece que KeepAliveesto se ejecutó cada pocos segundos, así que lo dejé. Ver gist.github.com/thegreatmichael/… gist.github.com/thegreatmichael/…
parece que cambiar de usuario no es suficiente para activar este script /-:

Si utiliza la función de calibración (Preferencias del sistema > Pantalla > pestaña Color > Calibrar) puede configurar el brillo a través de esa función. Los perfiles de calibración son por usuario, por lo que puede seleccionar uno nuevo y el compañero de trabajo puede continuar usando cualquier perfil que esté usando ahora. Debería restaurar la configuración de su perfil cada vez que inicie sesión en su cuenta de usuario.

Lo siento, me tomó tanto tiempo comprobar esto. Intenté lo que sugeriste, pero no parece haber una configuración de brillo, incluso en el modo experto.