Stellen Sie die Bildschirmhelligkeit ein: xbacklight funktioniert nicht auf HDMI, xrandr - Helligkeit bleibt nicht erhalten

8

Ich versuche, benutzerdefinierte Bildschirmbindungen in i3WM festzulegen, und suche nach einer Möglichkeit, die Helligkeit beim Drücken einer Taste zu verringern / zu erhöhen. Ich habe versucht, Folgendes zu verwenden:

xbacklight -dec10
xbacklight -set 70

xbacklight würde funktionieren, hat jedoch keinen Einfluss auf meinen mit HDMI verbundenen Monitor, anscheinend keine Hintergrundbeleuchtung:

xrandr --verbose

HDMI-0 hat im Gegensatz zum Laptop-Bildschirm keine "Hintergrundbeleuchtung" -Eigenschaft. Der obige Code funktioniert auf meinem Laptop-Bildschirm einwandfrei. Ich möchte jedoch die Helligkeit auf allen Monitoren reduzieren.

Als nächstes habe ich versucht:

xrandr --output DP-0 --brightness 0.5
xrandr --output HMDI-0 --brightness 0.5

Welches funktioniert! Nun, für ungefähr 1 Sekunde wird dann standardmäßig zurückgesetzt. Meine Frage: Gibt es eine Möglichkeit, diese Änderungen zumindest bis zum nächsten Neustart beizubehalten?

PS - Ausführen von Debian GNU / Linux 8.5 | 4.5.0-0.bpo.1-amd64 | i3 4.8-2

PPS - Ich kann die i3-Konfiguration und die Tastenkombinationen einfach einstellen, für diesen Teil ist keine Unterstützung erforderlich :)

Smoking
quelle

Antworten:

0

Sie können das folgende Skript auf doc.ubuntu-fr.org (basierend auf dem xbacklightTool) verwenden:

Erstellen Sie eine neue Konfigurationsdatei brightnessunter /usr/local/binmit folgendem Inhalt:

#!/bin/bash

error="Usage: $0 up | $0 down"
xbl=`xbacklight`
limite1=2
limite2=10
limite3=40
limite4=100

if [ "$#" -eq 1 ]
    then
    if [ $1 = "up" ]
        then
        # Augmenter le rétroéclairage
        if [ $(echo "$xbl == $limite4"|bc) -eq 1 ]
                then
                echo "Rétroéclairage au maximum !"
                xbacklight = 100
            else
            if [ $(echo "$xbl < $limite2"|bc) -eq 1 ]
                    then
                    xbacklight +1
                 else
                if [ $(echo "$xbl < $limite3"|bc) -eq 1 ]
                        then
                        xbacklight +10
                    else
                    xbacklight +20
                fi
            fi
        fi
    elif [ $1 = "down" ]
        then
        # Diminuer le rétroéclairage
        if [ $(echo "$xbl < $limite1"|bc) -eq 1 ]
                then
                echo "Rétroéclairage au minimum !"
                xbacklight =1
            else
            if [ $(echo "$xbl < $limite2"|bc) -eq 1 ]
                    then
                    xbacklight -1
                else  
                if [ $(echo "$xbl < $limite3"|bc) -eq 1 ]
                        then
                        xbacklight -10
                    else
                    xbacklight -20
                fi
            fi
        fi
        else
        echo $error
    fi
    else
    echo $error
fi
exit

Machen Sie es ausführbar:

sudo chmod +x /usr/local/bin/brightness

Öffnen Sie das Terminal und geben Sie Folgendes ein, um die Helligkeit zu erhöhen:

brightness up

Geben Sie Folgendes ein, um die Helligkeit zu verringern:

brightness down
GAD3R
quelle
1
Ein paar Dinge, erstens wird mir eine Berechtigung verweigert, wenn ich versuche, den Befehl zum Erhöhen / Verringern der Helligkeit auszuführen. Ich habe es ausführbar gemacht, versucht, den Eigentümer in meinen Benutzer zu ändern und das Skript an einen anderen Speicherort zu verschieben. Kein Glück. Zweitens bin ich mir nicht sicher, ob dies das Problem beheben wird, mein zweiter Bildschirm hat keine Hintergrundbeleuchtungseigenschaft, so dass das xbacklight-Tool nicht funktioniert, glaube ich nicht
tuxedozombie
Sie sollten zuerst den Grafiktreiber installieren. Was ist die Ausgabe von lspci | grep 'vga'und glxinfo | grep "OpenGL vendor string"?
GAD3R
0

Verwenden Sie Rotverschiebung?

Ich hatte genau das gleiche Problem und es wurde gelöst, indem Rotverschiebung beendet wurde.

killall redshift

xrandr --output HDMI-0 --brightness .5
Sean Wright
quelle