Установите яркость экрана: xbacklight не работает по HDMI, xrandr - яркость не прилипает

8

Я пытаюсь установить пользовательские привязки экрана в i3WM и ищу способ уменьшить / увеличить яркость при нажатии кнопки. Я пытался использовать следующее:

xbacklight -dec10
xbacklight -set 70

xbacklight будет работать, однако это не повлияет на мой монитор, подключенный по HDMI, подсветка, по-видимому, отсутствует:

xrandr --verbose

HDMI-0 не имеет свойства «Подсветка» в отличие от экрана ноутбука, приведенный выше код прекрасно работает на экране моего ноутбука, однако я хочу уменьшить яркость на всех мониторах.

Далее я попробовал:

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

Который работает! Ну, в течение примерно 1 секунды, то по умолчанию возвращается. Мой вопрос: можно ли как-нибудь сохранить эти изменения, по крайней мере, до следующей перезагрузки?

PS - Запуск Debian GNU / Linux 8.5 | 4.5.0-0.bpo.1-amd64 | i3 4.8-2

PPS - я могу легко установить конфигурацию i3 и привязки клавиш, помощь с этой частью не требуется :)

tuxedozombie
источник

Ответы:

1

Вы используете красное смещение?

У меня была точно такая же проблема, и она была решена убийством красного смещения.

killall redshift

xrandr --output HDMI-0 --brightness .5
Шон Райт
источник
0

Вы можете использовать следующий скрипт на doc.ubuntu-fr.org (на основе xbacklightинструмента):

Создайте новый файл конфигурации в brightnessсоответствии /usr/local/binсо следующим содержанием:

#!/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

Сделайте его исполняемым:

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

Чтобы увеличить яркость, откройте терминал и введите:

brightness up

Чтобы уменьшить яркость, введите:

brightness down
GAD3R
источник
1
Несколько вещей, во-первых, я получаю отказано в разрешении при попытке запустить команду увеличения / уменьшения яркости. Я сделал его исполняемым, попытался сменить владельца на пользователя и переместить скрипт в другое место. Не повезло. Во-вторых, я не уверен, что это решит проблему, которая возникла у меня, у моего второго экрана нет свойства подсветки, поэтому инструмент xbacklight не будет работать, я не думаю
tuxedozombie
Сначала вы должны установить графический драйвер. какой вывод lspci | grep 'vga'и glxinfo | grep "OpenGL vendor string"?
GAD3R