У меня Lenovo Thinkpad X1 yoga, который имеет OLED-дисплей. Это означает, что яркость не устанавливается обычным способом, но, к счастью, это можно обойти с помощью скриптов, использующих xrandr --brightness. В частности, у меня есть скрипт, который слушает изменения яркости и затем использует xrandr для их реализации. К сожалению, он не учитывает цветовую температуру, и поэтому не получает изменений от Gnome Night Light. Где Night Light хранит свои текущие настройки, и как можно получить к ним доступ? Или, что еще лучше, есть ли способ убедить Night Light использовать xrandr для настройки яркости?
NB: Это не дубликат этого вопроса. OLED-дисплеи не реагируют на обычный способ установки яркости. Поэтому Night Light сам по себе изменяет только цветовую температуру, но не яркость. С другой стороны, я могу установить яркость с помощью xrandr, но это отменяет цветовую температуру. Могу ли я заставить Night Light использовать xrandr для установки яркости вместо стандартного метода? Или, если это не удастся, как мне считать настройки Night Light, чтобы самому установить правильную температуру и яркость?
redshift
имеет функцию, позволяющую применять яркость на OLED-экранах поверх цветовой температуры. Это делается следующим образом:
redshift -m randr:screen=$oled_screen -P -O $temperature -b $brightness
$brightness
— значение от 0,1
до 1,0
. Это то же самое значение, которое вы бы установили для xrandr --brightness
, но redshift
предотвращает значения ниже 0,1
, в то время как xrandr
допускает более низкие значения, даже 0,0
(черный как смоль).
$temperature
— температура фильтра ночного освещения, 6500
— по умолчанию, неизменные значения дневного освещения, 3500
— обычное значение ночного фильтра.
OLED Linux в полной мере использует это преимущество для плавного изменения яркости и ночного освещения на OLED-дисплеях. Чтобы использовать это в GNOME, отключите встроенную в GNOME функцию Night Light и настройте OLED Linux по своему вкусу.