Il modo in cui puoi realizzare questo
-
Programma di controllo della luminosità (può essere installato tramite Homebrew o compilato dal sorgente)
- Uno script bash per utente che imposta la luminosità
- Script aggiunto a
~/Library/LaunchAgents
e caricato con launchd
o
È disponibile un metodo AppleScript che è possibile utilizzare invece di utilizzare il riferimento al programma di luminosità sopra riportato. Non sono un fan di questo metodo perché non ho trovato che AppleScript sia affidabile come bash (le cose si interrompono quando Apple aggiorna). Scorri verso il basso per i dettagli.
Installa luminosità
Se hai un Homebrew, invia il comando brew install brightness
. Se si complimenta dalla fonte, scaricare dal link fornito e compilare.
cd /brightness ---- (or whereever you downloaded the source)
make
sudo make install
Provalo eseguendo alcuni comandi di brighness:
brightness 1 <------- set to 100%
brightness .5 <------- set to 50%
Scrivi uno script bash da eseguire quando esegui l'accesso
#!/bin/bash
/<path-to-brightness>/brightness .75
sleep 20 # I put this here because I find lauchd needs some "time"
exit 0
Fai questo per ogni utente e posiziona lo script in una posizione facilmente accessibile. Ad esempio, crea una directory "scripts" nella directory home di ciascun utente:
/Users/<username>/Scripts/set_brightness.sh
Questo è solo un esempio, puoi posizionare lo script ovunque tu voglia, ma ricorda, ne hai bisogno uno che sia eseguibile da ciascun utente. Parlando di "eseguibile" assicurati di impostare le autorizzazioni dello script da eseguire - chmod +x set_brightness.sh
Assicurati di provare eseguendo lo script direttamente dalla riga di comando chiamandolo:
$ ./set_brightness.sh
La luminosità dello schermo dovrebbe cambiare con le impostazioni dello script (assicurati di cambiare manualmente le impostazioni prima di assicurarti di non modificarlo per quello che è già).
Crea un file .plist e carica per lanciare
Il tuo .plist verrà eseguito ogni volta che si accede, quindi deve trovarsi nella directory ~ / Library / LaunchAgents. Per quanto riguarda il nome del file, la mia preferenza è di usare qualcosa del tipo:
com.user.setbrightness.plist
Il file .plist dovrebbe essere simile a questo:
<?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>
Carica il .plist per lanciare
launchctl load com.user.brightness.plist
Fai questo per ogni utente in modo che ogni volta che l'utente effettua il login esegua lo script bash impostando automaticamente la luminosità.
Metodo alternativo (per monitor 5K) 1
Puoi farlo anche tramite AppleScript e saltare del tutto il programma di luminosità (l'ho provato su un iMac non-5K che esegue 10.11.6 e funziona).
Codice 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
Salva questo AppleScript nello stesso modo descritto sopra.
Apporta questa modifica al tuo .plist (relacing Program with ProgramArguments):
<key>ProgramArguments</key>
<array>
<string>osascript</string>
<string>path-to-script/set_brightness.scpt</string
</array>
1 Adattato da questo post:
È possibile che Applescript oscilli / aumenti la luminosità dello 0% / 100% dello schermo su OSX 10.9 Mavericks quando connesso a un display esterno?