Ein Kollege und ich teilen uns einen iMac (mit externen Displays). Ich benutze es tagsüber und habe es relativ hell, um das Licht zu kompensieren, das durch das Fenster und so weiter kommt. Er benutzt es nachts und möchte es daher dunkler haben. Wir verwenden unterschiedliche OS X-Benutzerkonten, aber jedes Mal, wenn ich mich nach ihm anmelde, wird die Helligkeit wieder auf gedimmt gesetzt.
Gibt es eine Möglichkeit, die Helligkeit auf Benutzerebene einzustellen, anstatt auf Systemebene, wie es derzeit der Fall zu sein scheint?
Die benutzerbasierte Helligkeitseinstellung können Sie ganz einfach mit der App EasyOnTheEyes vornehmen , die kostenlos ist und im Mac App Store mit 5 Sternen ausgezeichnet wird.
Folgendes müssen Sie tun:
Off
in der Menüleiste. Auf diese Weise wird es nicht abgeblendet, wenn Sie bei Ihrem Konto angemeldet sind.Users and Groups
und dann den Login Items
Abschnitt. Sie müssen EasyOnTheEyes als Anmeldeelement für sein Konto hinzufügen, damit es automatisch abgeblendet wird, wenn er sich anmeldet.EasyOnTheEyes
sollte es in der Liste erscheinen These items will open automatically when you log in
. Hinweis: Wahrscheinlich möchten Sie das Hide
Kontrollkästchen aktivieren, damit Ihr Kollege nicht jedes Mal, wenn er sich anmeldet, durch das hüpfende App-Symbol abgelenkt wird, aber es liegt an ihm.1
und ziehen Sie den Schieberegler, um die Helligkeit Ihrem Kollegen anzupassen.Das ist es. Ihr Kollege hat einen automatisch gedimmten Bildschirm, wenn er sich bei seinem Konto anmeldet, Sie jedoch nicht.
Die Art und Weise, wie Sie dies erreichen können
~/Library/LaunchAgents
und geladen mitlaunchd
ODER
Es gibt eine AppleScript-Methode, die Sie verwenden können, anstatt die Referenz zum Helligkeitsprogramm oben zu verwenden. Ich bin kein Fan dieser Methode, da ich AppleScript nicht als so zuverlässig wie Bash empfunden habe (die Dinge gehen kaputt, wenn Apple Updates durchführt). Scrollen Sie für Details nach unten.
Wenn Sie Homebrew haben, geben Sie den Befehl ein brew install brightness
. Wenn Sie aus der Quelle kompilieren, laden Sie sie über den bereitgestellten Link herunter und kompilieren Sie sie dann.
cd /brightness ---- (or whereever you downloaded the source)
make
sudo make install
Testen Sie es, indem Sie einige Helligkeitsbefehle ausgeben:
brightness 1 <------- set to 100%
brightness .5 <------- set to 50%
#!/bin/bash
/<path-to-brightness>/brightness .75
sleep 20 # I put this here because I find lauchd needs some "time"
exit 0
Tun Sie dies für jeden Benutzer und platzieren Sie das Skript an einem leicht zugänglichen Ort. Erstellen Sie beispielsweise ein Verzeichnis „scripts“ im Home-Verzeichnis jedes Benutzers:
/Users/<username>/Scripts/set_brightness.sh
Dies ist nur ein Beispiel, Sie können das Skript an beliebiger Stelle platzieren, aber denken Sie daran, dass Sie eines benötigen, das von jedem Benutzer ausgeführt werden kann. Apropos "ausführbar", stellen Sie sicher, dass Sie die Berechtigungen des auszuführenden Skripts festlegen -chmod +x set_brightness.sh
Stellen Sie sicher, dass Sie das Skript testen, indem Sie es direkt von der Befehlszeile aus ausführen, indem Sie es aufrufen:
$ ./set_brightness.sh
Ihre Bildschirmhelligkeit sollte sich auf die Einstellung im Skript ändern (stellen Sie sicher, dass Sie die Einstellung zuerst manuell ändern, um sicherzustellen, dass Sie sie nicht auf das ändern, was sie bereits ist).
Ihre .plist wird jedes Mal ausgeführt, wenn Sie sich anmelden, daher muss sie sich im Verzeichnis ~/Library/LaunchAgents befinden. Was den Dateinamen betrifft, bevorzuge ich Folgendes:
com.user.setbrightness.plist
Die .plist sollte etwa so aussehen:
<?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>
Laden Sie die .plist-Datei in launchd
launchctl load com.user.brightness.plist
Tun Sie dies für jeden Benutzer, damit jedes Mal, wenn sich der Benutzer anmeldet, das Bash-Skript ausgeführt wird, das die Helligkeit automatisch einstellt.
Sie können dies auch über AppleScript tun und das Helligkeitsprogramm ganz überspringen (ich habe dies auf einem Nicht-5K-iMac mit 10.11.6 getestet und es funktioniert).
AppleScript-Code:
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
Speichern Sie dieses AppleScript auf die gleiche Weise wie oben beschrieben.
Nehmen Sie diese Änderung an Ihrer .plist vor (ersetzen Sie Program mit ProgramArguments):
<key>ProgramArguments</key>
<array>
<string>osascript</string>
<string>path-to-script/set_brightness.scpt</string
</array>
brightness
noch nicht .RunAtLoad
dazu führen könnte, dass es nur passiert, wenn ich launchctl load
es zum ersten Mal mache, oder nur wenn ich mich anmelde. Ich melde mich nicht ab, wenn ich gehe, also wechselt mein Kollege einfach den Benutzer. Wird dies ausgeführt, wenn ich es bin Einfach zurückschalten? Wir werden sehen. Danke für deine Hilfe. Übrigens sieht es so aus, als würde KeepAlive
dies alle paar Sekunden laufen, also habe ich das fallen gelassen. siehe gist.github.com/thegreatmichael/… gist.github.com/thegreatmichael/…Wenn Sie die Kalibrierungsfunktion verwenden (Systemeinstellungen > Anzeige > Registerkarte Farbe > Kalibrieren), können Sie die Helligkeit über diese Funktion einstellen. Kalibrierungsprofile gelten pro Benutzer, sodass Sie Ihr neues auswählen können und der Kollege weiterhin das Profil verwenden kann, das er gerade verwendet. Es sollte Ihre Profileinstellung jedes Mal wiederherstellen, wenn Sie sich bei Ihrem Benutzerkonto anmelden.
tubedogg
Eulenschlag