Автор Тема: Регулировка яркости подсветки экрана  (Прочитано 24940 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Pavels

  • Постоялец
  • ***
  • Автор темы
  • Сообщений: 233
Данное руководство предназначено в первую очередь для пользователей ноутбуков, потому что на стационарных мониторах часто есть аппаратные кнопки регулировки яркости, и, кроме того, предполагаю, что там недовольство яркостью подсветки возникает реже, так как она обычно выставляется по умолчанию на 100%, и такой уровень устраивает большинство пользователей. Впрочем, никто не запрещает использовать эти рекомендации где угодно.

Автоматическое управление подсветкой в Linux далеко от идеала: нередко либо при работе от сети яркость подсветки экрана выставляется на минимальном уровне,что сильно напрягает глаза, либо, наоборот, при автономной работе яркость почему-то оказывается на максимуме, хотя батарея из-за этого разряжается гораздо быстрее. В таких случаях полезна возможность менять яркость экрана вручную.
Обычно на ноутбуках это осуществляется функциональными клавишами, но в Linux они нередко не работают (как минимум "из коробки").
Как быть?

Если вы используете Runtu GNOME.
В GNOME предустановлены программные средства регулировки яркости.
Открываем окно "Параметры системы", выбираем средство настройки "Яркость и блокировка" и указываем любой уровень яркости.
При необходимости убираем галочку автоматического управления яркостью.
 
К сожалению, нередко случается так, что эти настройки действуют только до перезагрузки, а потом система возвращается к автоматической регулировке. Но выход есть и в этом случае - читайте дальше.

Если вы используете Runtu XFCE или Runtu LITE или если средство регулировки яркости в GNOME не работает как положено.
В этих двух системах нет средств ручной настройки яркости подсветки (точнее, в Runtu XFCE можно указать, какой уровень подсветки будет после простоя в течение заданного времени, но, согласитесь, это мало похоже на возможность в любой момент установить любое значение яркости монитора).

Воспользуемся программой Xbacklight.
Это крошечная утилита (размер пакета - 8 КБ) управляет яркостью подсветки монитора.

Установка (есть в репозитории):
sudo apt-get install xbacklightили просто через Synaptic.

Использование.
Уровень яркости указывается числом от 0 (минимальный; учтите, что это означает не полное отключение подсветки, а только её сильное приглушение) до 100 (максимальный поддерживаемый).

xbacklight -get - показать текущее значение уровня яркости.

xbacklight -set N - установить значение яркости N (от 0 до 100%)

xbacklight -inc N - повысить яркость на N процентов.

xbacklight -dec N - понизить яркость на N процентов.

Есть ещё пара команд, о которых написано в man xbacklight.

Убедившись в функционировании утилиты, можно добавить команду xbacklight -set N в автозагрузку, чтобы при запуске системы яркость подсветки принимала нужное вам значение.

Как настроить увеличение или уменьшение яркости при нажатии определённых клавиш.
Команды xbacklight -inc N и xbacklight -dec N можно связать с функциональными клавишами для более удобной регулировки яркости подсветки экрана.

В Runtu LITE.
В Runtu LITE предустановлен простой инструмент настройки сочетаний клавиш - Obkey. Идём по пути "Меню - Параметры - Настройка хоткеев Obkey". Нажимаем вторую слева кнопку на панели инструментов ("Вставить прямую комбинацию"), после этого щёлкаем левой кнопкой мыши на новой выделенной строчке, которая появится в списке комбинаций, и нажимаем клавишу, для которой хотим настроить действие (например, F10). После этого нажимаем значок плюса, расположенный под списком "Действия", щёлкаем мышью по появившейся в списке действий строчке, выбираем "Execute" и пишем команду (например, xbacklight -dec 10).

Runtu XFCE и Runtu GNOME пока под рукой нет. Когда будет время загрузиться в них с флешки, напишу пояснения и для них. Если работаете в XFCE или GNOME, можете кратко написать о создании комбинаций клавиш в этих средах, и это руководство будет полностью готово ещё раньше.
« Последнее редактирование: Август 21, 2013, 17:07:32 от Pavels »

Оффлайн kompilainenn

  • Местный
  • *****
  • Сообщений: 1068
  • Активно пропагандирую Runtu
Re: Регулировка яркости подсветки экрана
« Ответ #1 : Август 19, 2013, 16:00:23 »
>а команды xbacklight -inc N и xbacklight -dec N связать с функциональными клавишами для более удобной регулировки яркости подсветки экрана.

напиши , как именно связать, а то твой рецепт был бы неполным без шоколада аленка заканчивается на самом интересном
Мы говорим Linux, подразумеваем Runtu

Оффлайн ilehome

  • Прохожий
  • *
  • Сообщений: 9
Re: Регулировка яркости подсветки экрана
« Ответ #2 : Март 17, 2015, 10:52:20 »
Если прописать в grub
quiet acpi_backlight=vendor
 то меня заработали клавиши fn+ яркости без автозагрузок и obkey
нетбук acer happy2

Оффлайн 9Demien9

  • Новичок
  • **
  • Сообщений: 61
Re: Runtu XFCE 14.04.2 x64 - 20150406
« Ответ #3 : Сентябрь 15, 2015, 21:00:31 »
Установлена Runtu XFCE 14.04.2 x64 - 20150406
Ядро 3.16, поставил на ноут Dexp athena 142, видео - встроенная intel

Никак не могу разобраться с сохранением яркости экрана.
На ноуте также стоит Runtu Lite 14.04, по началу не работали Fn клавиши регулировки яркости, прописал в grub acpi_backlight=vendor, все заработало, в том числе и сохранение яркости экрана.
В XFCE это не прокатывает.Клавиши регулировки яркости работали из коробки, а вот яркость после перезагрузки всегда 100%  Пробовал разные рецепты, и прописывал в grub другие параметры и sysvinit-backlight устанавливал, эффекта нет.
Заметил одну вещь, после начала процессса перезагрузки, в консоли мелькает Saving intel_backlight = 7812 (насколько я понял максимальное значение), соответственно при загрузке цепляется оно же.
Пока закинул xbacklight -set 20 в автозагрузку, но в "голой" консоли это не вариант.
« Последнее редактирование: Сентябрь 16, 2015, 13:09:47 от 9Demien9 »

Оффлайн ek-nfn

  • Местный
  • *****
  • Сообщений: 1422
Re: Регулировка яркости подсветки экрана
« Ответ #4 : Сентябрь 16, 2015, 16:44:37 »
У себя использую утилиту xgamma  в двух скриптах (день-ночь) с плавно изменяемой яркостью (с возможностью изменения тональности в красный, синий , зеленый оттенки). Плавное изменение не бьет по глазам.
Скрипты заведены на кнопки панели (можно и на горячие клавиши или в crontab). Хотя у меня работают и аппаратные кнопки, но удобней через скрипты -нажал и забыл, через несколько секунд яркость упала (поднялась) до требуемой.
Описание в самом скрипте .
#!/bin/bash

# скрипт для плавного изменения гаммы монитора соответствено профилю
# профили класть в каталог ~/.xgamma/ вторым полем должно идти значение
# примеры профиля:
#
# (night)
#
#red 0.6
#green 0.7
#blue 0.8
#
# (day)
#
#red 1.2
#green 1.2
#blue 1.1
#
#
# скорость регулируется значением $num (количество шагов)
# и величиной задержки sleep внутри цикла
#
# предназначен для автоматической коррекции гаммы монитора
# при изменении освещения (например вечером)
#
# в идеале следует подключать к фотодиоду
# на худой конец может подойти crontab
#
#
# зависимости
#
#
# для работы скрипта нужен bash (sh?) и калькулятор bc
# (так как bash умеет выполнять только целочисленные вычисления)



if [ "$1" = "" ];
then echo использовать: xgamma-tune profile;
exit ;
fi

num=20 # количество проходов цикла,
# если сделать малым - изменения будут идти скачками

G_R=`xgamma 2>&1 | awk '{print $3}'| sed s/,/''/` # исходные
G_G=`xgamma 2>&1 | awk '{print $5}'| sed s/,/''/` # значения
G_B=`xgamma 2>&1 | awk '{print $7}'| sed s/,/''/` # гаммы

G_R_trg=`cat ~/.xgamma/$1|grep red | awk '{print $2}'` # значения
G_G_trg=`cat ~/.xgamma/$1|grep green | awk '{print $2}'` # из
G_B_trg=`cat ~/.xgamma/$1|grep blue | awk '{print $2}'` # профиля

G_R_dif=`echo "($G_R_trg-$G_R)/$num"|bc -l` #
G_G_dif=`echo "($G_G_trg-$G_G)/$num"|bc -l` # смещение
G_B_dif=`echo "($G_B_trg-$G_B)/$num"|bc -l` #

for i in `seq 1 $num`;
do

G_R=`xgamma 2>&1 | awk '{print $3 }'| sed s/,/''/` #
G_G=`xgamma 2>&1 | awk '{print $5 }'| sed s/,/''/` # текущие значения
G_B=`xgamma 2>&1 | awk '{print $7 }'| sed s/,/''/` #

clear

xgamma -rgamma `echo $G_R+$G_R_dif|bc -l` -ggamma `echo $G_G+$G_G_dif|bc -l` -bgamma `echo $G_B+$G_B_dif|bc -l`

sleep 1

done

xgamma -rgamma $G_R_trg -ggamma $G_G_trg -bgamma $G_B_trg # контрольный

« Последнее редактирование: Сентябрь 16, 2015, 16:55:45 от ek-nfn »
Devuan ASCII x32..x64

Оффлайн 9Demien9

  • Новичок
  • **
  • Сообщений: 61
Re: Регулировка яркости подсветки экрана
« Ответ #5 : Сентябрь 16, 2015, 21:42:51 »
У себя использую утилиту xgamma  в двух скриптах (день-ночь) с плавно изменяемой яркостью (с возможностью изменения тональности в красный, синий , зеленый оттенки). Плавное изменение не бьет по глазам.
Скрипты заведены на кнопки панели (можно и на горячие клавиши или в crontab). Хотя у меня работают и аппаратные кнопки, но удобней через скрипты -нажал и забыл, через несколько секунд яркость упала (поднялась) до требуемой.
Описание в самом скрипте .


Интересный скрипт, спасибо.
Но у меня проблема в том, что яркость экрана после перезагрузки не сохраняется, всегда фонарем фигачит на 100%
А регулируется функциональными кнопочками прекрасно.

Оффлайн NIN

  • Новичок
  • **
  • Сообщений: 59
Re: Регулировка яркости подсветки экрана
« Ответ #6 : Сентябрь 16, 2015, 22:19:09 »
Мне помог скрипт - https://github.com/mondalaci/screen-brightness-upstart-job
Размещается в /etc/init/screen-brightness.conf. Правда, в моём случае его потребовалось привести к виду
description "Store/restore the brightness of the screen upon shutdown/startup"

start on local-filesystems
stop on desktop-shutdown

task

pre-start script
    acpi_video_path=/sys/class/backlight/intel_backlight
    config_file=/etc/screen-brightness.conf

    if [ ! -d $acpi_video_path ]; then
        echo 'Cannot restore screen brightness: No acpi_video interface has been found'
    fi

    if [ ! -f $config_file ]; then
        echo 'Cannot restore screen brightness: No brightness value has been saved yet'
    fi

    cat $config_file > $acpi_video_path/brightness
    echo 'Screen brightness restored'
end script

post-stop script
    acpi_video_path=/sys/class/backlight/intel_backlight
    config_file=/etc/screen-brightness.conf

    if [ ! -d $acpi_video_path ]; then
        echo 'Cannot store screen brightness: No acpi_video interface has been found'
    fi

    cat $acpi_video_path/brightness > $config_file
    echo 'Screen brightness saved'
end script
« Последнее редактирование: Сентябрь 16, 2015, 22:41:27 от NIN »