Steuern Sie die Helligkeit des externen Monitors per Software

10

Hallo Ubuntu Community,

Ich kann die Helligkeit meines mit DisplayPort verbundenen DELL U2713HM über den folgenden Befehl steuern:

ddccontrol -p -r 0x10 -w 53

In diesem Beispiel steht die Zahl 53 für die Helligkeitsstufe (Bereich 0 bis 100). Ich weiß jedoch nicht, wie ich den Befehl mit meinen Helligkeitstasten auf meiner Tastatur verknüpfen soll.

Ich habe bereits gesucht, aber nur Antworten auf integrierte Laptop-Bildschirme gefunden. In /sys/class/backlightist der Ordner acpi_video0mit einigen Unterordnern und Dateien. Die Datei actual_brightness enthält eine Zahl von 0 bis 20, die sich ändert, wenn ich die Helligkeitstasten drücke.

Wie kann ich meinen externen Monitor als Gerät in / sys / class / backlight auflisten lassen?

PS: Ich verwende eine neue Ubuntu 12.10-Installation mit integrierter Grafik Intel HD4000.

remi
quelle
Wenn der von Ihnen angegebene Befehl für Ihren externen Monitor funktioniert, können Sie benutzerdefinierte Tastenkombinationen unter Systemeinstellungen> Tastatur> Tastenkombinationen festlegen.
Tongpu
Das ist richtig, aber dann kann ich einfach zwei Befehle senden (dunkel / hell) und ich würde den internen Helligkeitswechsler von Ubuntu mit der schönen Helligkeitsanimation ignorieren.
Remi
Können Sie einen Link mit der Ausgabe von posten ddccontrol -p, ich denke über eine Lösung nach ...
Gerhard Burger
Hoffe, dies ist eine Hilfe für Sie: pastebin.com/L7Y7pRZe
remi

Antworten:

6

Ich denke nicht, dass Ihre gewünschte Lösung, Ihren externen Monitor /sys/class/backlighteinzuschalten, funktioniert, aber die gute Nachricht ist, dass Sie die schöne Helligkeitsanimation haben können!

Versuchen

notify-send " " -i notification-display-brightness-low -h int:value:50 -h string:x-canonical-private-synchronous:brightness &

Jetzt können wir ein Skript erstellen, das den Helligkeitswechsler von Ubuntu simuliert:

#!/bin/bash
#get current brightness
presbright=$(ddccontrol -p | grep -A1 0x10 | tr -d '\n\t' | sed 's/.*value=\([^a-zA-Z]*\),.*/\1/')
#stepsize for the brightness change
stepsize=10

case "$1" in
        up)
          newbright=$(( ${presbright}+${stepsize} ))
          newbright=$(echo $newbright | awk '{if($1 < 100){if($1 > 0) print $1; else print 0;} else print 100;}')

          notify-send " " -i notification-display-brightness-low -h int:value:$newbright -h string:x-canonical-private-synchronous:brightness &
          ddccontrol -p -r 0x10 -w $newbright
        ;;
        down)
          newbright=$(( ${presbright}-${stepsize} ))
          newbright=$(echo $newbright | awk '{if($1 < 100){if($1 > 0) print $1; else print 0;} else print 100;}')

          notify-send " " -i notification-display-brightness-low -h int:value:$newbright -h string:x-canonical-private-synchronous:brightness &
          ddccontrol -p -r 0x10 -w $newbright            
        ;;
        status)
          echo $presbright
        ;;
        *)
          echo "Accepted arguments are: up, down, status."
        ;;
esac

exit 0

Wie Sie sehen können, werden die Werte zwischen 0 und 100 geklemmt. Jetzt können Sie die upund downAufrufe des Skripts an einige Tastaturkürzel Ihrer Wahl binden , indem Sie Systemeinstellungen> Tastatur> Tastenkombinationen verwenden , wie von fotomonster vorgeschlagen.


Anmerkungen:
Ich weiß nicht, wie viel Zeit ddccontrol -pbenötigt wird. Wenn es zu lang ist, können Sie syncdem Skript auch eine Option hinzufügen, mit der der Helligkeitswert des Monitors in einer Datei gespeichert wird. Anstatt die aktuelle Helligkeit zu erhalten ddccontrol, können Sie sie einfach aus Ihrer Datei abrufen, was viel schneller sein sollte. Natürlich müssten Sie die upund down-Aufrufe aktualisieren , um die neue Helligkeit in die Datei zu schreiben ...


Skript inspiriert von diesem Beitrag auf Archlinux .

Gerhard Burger
quelle
funktioniert sehr gut, vielen Dank. Genau das wollte ich. Jetzt ist das gesamte System wie ein iMac gut integriert, aber immer noch konfigurierbar.
Remi
Müssen noch ein wenig Hilfe, Binden , das Skript zu meiner Helligkeit Tasten: askubuntu.com/questions/239560/...
Remi