РЕШЕНО. Регулировка яркости

Настройка графического интерфейса, Иксов, десктопов, оконных менеджеров и иксовых терминалов

Модераторы: broom, aim

UriyZenkov
Сообщения: 306
ОС: Devuan GNU/Linux

РЕШЕНО. Регулировка яркости

Сообщение UriyZenkov » 04.08.2018 21:32

Нужно задействовать клавиши регулировки яркости (Fn) в линуксе.
Подскажите простую не GUI программу, которая будет считывать число из файла /sys/class/backlight/acpi_video0/brightness, прибавлять или отнимать от этого числа указанное значение и записывать его с заменой в этот же файл.

Проблему решил, подробности настройки яркости на моём сайте: http://libreportal.net/advice/regulirov ... linux.html
Последний раз редактировалось UriyZenkov 07.08.2018 17:55, всего редактировалось 2 раза.
Спасибо сказали:

Аватара пользователя
Vascom
Сообщения: 1144
ОС: Fedora 28

Re: Регулировка яркости

Сообщение Vascom » 05.08.2018 09:30

Напиши скрипт на bash.
Спасибо сказали:

UriyZenkov
Сообщения: 306
ОС: Devuan GNU/Linux

Re: Регулировка яркости

Сообщение UriyZenkov » 05.08.2018 10:01

Vascom писал:
05.08.2018 09:30
Напиши скрипт на bash.
Нет времени изучать bash.
Пробовал сделать интуитивно, но не выходит.
Если в консоли выполнять команды

#!/bin/bash

let "svet=svet+10"

echo $svet > /sys/class/backlight/acpi_video0/brightness

то яркость меняется, а если прописать их в файле и запустить этот файл, то ничего не происходит:

./brightup.sh

root@user:/home/yura/programs/system#
Последний раз редактировалось UriyZenkov 05.08.2018 10:05, всего редактировалось 1 раз.
Спасибо сказали:

Аватара пользователя
yoricI
Сообщения: 469
ОС: gentoo fluxbox

Re: Регулировка яркости

Сообщение yoricI » 05.08.2018 10:03

/usr/local/bin/brght-reg:

Код: Выделить всё

#!/bin/sh

REG=/sys/class/backlight/intel_backlight/brightness
BR=`cat $REG`

if [ $1 = up ]; then
        BR=$(($BR+200000))
        echo $BR > $REG
    else
        BR=$(($BR-200000))
        echo $BR > $REG
fi
/etc/acpi/default:

Код: Выделить всё

#!/bin/sh

log() { logger -p daemon.info "ACPI: $*"; }
uhd() { log "event unhandled: $*"; }
            
set $*
group=${1%/*}
action=${1#*/}
device=$2
id=$3
value=$4

amixer="amixer -q set Master"

case $group in
    ac_adapter)
        case $value in
                *0) pm-powersave true;;
                *1) pm-powersave false;;
            *) uhd $*;;
        esac
        ;;
    battery)
        case $value in
#           *0) log "BAT event 0"
                *0) ogg123 -q /home/ALLES/music/misc/whistle/whistle-short.ogg;;
#           *1) log "BAT event 1"
                *1) ogg123 -q /home/ALLES/music/misc/whistle/whistle-short.ogg;;
            *) uhd $*;;
        esac
        ;;
    button)
        case $action in
            lid)
                case "$id" in
                    close) pm-suspend;;
                    open) :;;
                    *) uhd $*;;
                esac
                ;;
            power)      shutdown -H now;;
            sleep)      pm-hibernate;;          # ESC
            mute)       $amixer toggle;;        # F6
            volumeup)   $amixer 1dB+;;
            volumedown) $amixer 1dB-;;
            *) uhd $*;;
        esac
        ;;
    video)
        case $action in
            brightnessup)       brght-reg up;;
            brightnessdown)     brght-reg down;;
            switchmode)         ;;      # F4
            *) uhd $*;;
        esac
        ;;
    *) uhd $*;;
esac

unset alsa amixer group action device id
Надеюсь, понятно, что подредактировать по своей задаче. Может и другого вмешательства потребовать. Но по минимуму понятно.

Как там в девуане?
Спасибо сказали:

UriyZenkov
Сообщения: 306
ОС: Devuan GNU/Linux

Re: Регулировка яркости

Сообщение UriyZenkov » 05.08.2018 10:31

root@yura:/home/yura# REG=/sys/class/backlight/fujitsu-laptop/brightness
root@yura:/home/yura# BR='cat $REG'
root@yura:/home/yura# echo $(($BR+10))
bash: cat $REG+10: ошибка синтаксиса: недопустимый математический оператор (неверный маркер «$REG+10»)
root@yura:/home/yura# cat $BR
cat: cat: Нет такого файла или каталога
cat: '$REG': Нет такого файла или каталога

Ни чего не пойму.
Спасибо сказали:

Аватара пользователя
Vascom
Сообщения: 1144
ОС: Fedora 28

Re: Регулировка яркости

Сообщение Vascom » 05.08.2018 10:33

Проще найти время изучить элементарный уровень bash.
Спасибо сказали:

UriyZenkov
Сообщения: 306
ОС: Devuan GNU/Linux

Re: Регулировка яркости

Сообщение UriyZenkov » 05.08.2018 10:56

Пробовал xbacklight.
/etc/X11/xorg.conf
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection



Section "Device"
Identifier "Card0"
BusID "PCI:0:2:0"
Option "AccelMethod" "sna"
Option "DRI" "true"
Driver "intel"
Option "Backlight" "intel_backlight"
Option "Tearfree" "true"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
yura@yura:~$ xbacklight 90.909091 выводит значение яркости

yura@yura:~$ xbacklight -set 100 не срабатывает и ничего не выводит

yura@yura:~$ xbacklight теперь значение яркости не выводит

yura@yura:~$ xbacklight

В учётной записи root с исками это работает, а от простого пользователя не хочет.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 14130
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Регулировка яркости

Сообщение Bizdelnick » 05.08.2018 11:17

UriyZenkov писал:
05.08.2018 10:31
root@yura:/home/yura# REG=/sys/class/backlight/fujitsu-laptop/brightness
root@yura:/home/yura# BR='cat $REG'
root@yura:/home/yura# echo $(($BR+10))
bash: cat $REG+10: ошибка синтаксиса: недопустимый математический оператор (неверный маркер «$REG+10»)
root@yura:/home/yura# cat $BR
cat: cat: Нет такого файла или каталога
cat: '$REG': Нет такого файла или каталога
' и ` — это разные символы.
Пишите правильно:
в консоли
вкупе (с чем-либо)
в общем
вообще
в течение (часа)
команда
новичок
нюанс
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

Аватара пользователя
yoricI
Сообщения: 469
ОС: gentoo fluxbox

Re: Регулировка яркости

Сообщение yoricI » 05.08.2018 12:35

И вообще, Вы это скопировали скопом и в терминал засунули? Не, надо подучиться, и иксбаклайт не поможет :-) А строчка с двоечточием перед текстом ни о чём не говорит?
Спасибо сказали:

UriyZenkov
Сообщения: 306
ОС: Devuan GNU/Linux

Re: Регулировка яркости

Сообщение UriyZenkov » 05.08.2018 17:18

yoricI писал:
05.08.2018 12:35
И вообще, Вы это скопировали скопом и в терминал засунули?
нет, все команды по очереди вводил
yoricI писал:
05.08.2018 12:35
Не, надо подучиться, и иксбаклайт не поможет :-)
Изучать язык программирования, чтоб раз в жизни написать простенький скрипт ? Мне легче будет написать эту программку на паскале, вспомнив школьный курс программирования. Но а зачем изобретать велосипед, если такого добра в линуксе должно быть достаточно ?
yoricI писал:
05.08.2018 12:35
ксбаклайт не поможет :-)
В каком смысле ? Без иксов он не работает, это очевидно ). Но мне нужны только иксы (
В старых выпусках Debian он работает.
Последний раз редактировалось UriyZenkov 05.08.2018 17:24, всего редактировалось 1 раз.
Спасибо сказали:

Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 7157
Статус: Маньяк
ОС: Android, GNU/Linux, Windows

Re: Регулировка яркости

Сообщение serzh-z » 05.08.2018 17:24

UriyZenkov писал:
05.08.2018 17:18
Но а зачем изобретать велосипед
Чего бы тогда не использовать, например, GNOME и забыть вообще про пляски вокруг /sys, настройку привязки горячих клавиш и т.д.
Scio me nihil scire.
Спасибо сказали:

UriyZenkov
Сообщения: 306
ОС: Devuan GNU/Linux

Re: Регулировка яркости

Сообщение UriyZenkov » 05.08.2018 17:27

serzh-z писал:
05.08.2018 17:24
Чего бы тогда не использовать, например, GNOME и забыть вообще про пляски вокруг /sys, настройку привязки горячих клавиш и т.д.
КДЕ, Гном (и ему подобные), Xfce не удобные, заторможенные и иногда глючные. Icewm + Spacefm мне намного лучше подходят.
Спасибо сказали:

UriyZenkov
Сообщения: 306
ОС: Devuan GNU/Linux

Re: Регулировка яркости

Сообщение UriyZenkov » 05.08.2018 17:30

UriyZenkov писал:
05.08.2018 17:27
настройку привязки горячих клавиш и т.д.
В прошедших выпусках Debian, у меня xbacklight работал и был привязан к горячим клавишам, но в новом Devuan (точнее Devuan) xbacklight работает только в иксах запущенных под рутом.
Спасибо сказали:

UriyZenkov
Сообщения: 306
ОС: Devuan GNU/Linux

Re: Регулировка яркости

Сообщение UriyZenkov » 05.08.2018 17:33

yoricI писал:
05.08.2018 10:03
Как там в девуане?
Да практически также как и в Дебиане, только вместо systemd установлен
systemv, иксы требуют elogind и пакетная база немного старше, чем в стабильном Дебиане. Других отличий не видел.
Спасибо сказали:

Аватара пользователя
Vascom
Сообщения: 1144
ОС: Fedora 28

Re: Регулировка яркости

Сообщение Vascom » 05.08.2018 18:18

Собственно скрипт напрашивался из самой постановки вопроса. Ну и знание основ bash пригодится далеко не раз.
Спасибо сказали:

UriyZenkov
Сообщения: 306
ОС: Devuan GNU/Linux

Re: Регулировка яркости

Сообщение UriyZenkov » 06.08.2018 22:32

Разобрался с скриптом (помогли на https://www.linux.org.ru/forum/desktop/ ... 3583807810) и сделал на его основе два: brightup и brightdown, которые исправно работают.
brightup:

Код: Выделить всё

#!/bin/bash

IncVal=1

read -r MaxVal < "/sys/class/backlight/fujitsu-laptop/brightness"

NewVal=$(($MaxVal + $IncVal)); #для brightdown нужно заменить + на -

echo $NewVal  

echo -n $NewVal > /sys/class/backlight/fujitsu-laptop/brightness
Клавиатурное сочетание Fn+F6(F7), не срабатывает: экран мигает в /sys/class/backlight/fujitsu-laptop/brightness значение меняется, но яркость не меняется. Если назначить другие клавиатурные сочетания для этих скриптов, то яркость меняется.

Строка параметров ядра:

append="zswap.enabled=1 zswap.compressor=lz4 acpi_backlight=vendor"

перепробовал четыре значения acpi_backlight:
acpi_backlight=i915
acpi_backlight=native
acpi_osi=Linux
acpi_backlight=intel
работает только acpi_backlight=vendor, но максимальная яркость раза в два меньше максимальной якрости без acpi_backlight=vendor или при других значениях acpi_backlight

Если стоит acpi_backlight=vendor, то путь /sys/class/backlight/acpi_video0/brightness меняется на /sys/class/backlight/fujitsu-laptop/brightness и соответственно я меняю его в скриптах.

Что нужно сделать, чтоб иметь нормальную яркость и регулировать ее по Fn ?
Интересно, что в DOS и до загрузки Линукса яркость регулируется по Fn. Во время загрузки Линукса это клавиатурное сочетание на работает, оно доступно только после загрузки иксов (только с acpi_backlight=vendor).
Спасибо сказали:

UriyZenkov
Сообщения: 306
ОС: Devuan GNU/Linux

Re: Регулировка яркости

Сообщение UriyZenkov » 06.08.2018 22:44

Нагуглил, что для ноутбуков Fujitsu lifebook нужно ставить в параметры загрузки ядра команду acpi_osi=
Пример для lilo:
image = /boot/vmlinuz-4.9.0-6-amd64
label = "Linux"
read-only
# restricted
# alias = 1
# optional
initrd = /boot/initrd.img-4.9.0-6-amd64
append="zswap.enabled=1 zswap.compressor=lz4 acpi_osi="
Теперь клавиши Fn+F6-F7 работают и уровень яркости нормальный.
Спасибо сказали:

UriyZenkov
Сообщения: 306
ОС: Devuan GNU/Linux

Re: Регулировка яркости

Сообщение UriyZenkov » 06.08.2018 22:54

С командой acpi_osi= яркость регулируется уже без скрипта
Спасибо сказали:

Аватара пользователя
delvin-fil
Сообщения: 69
ОС: Linux

Re: РЕШЕНО. Регулировка яркости

Сообщение delvin-fil » 09.08.2018 03:43

Ну ЙОмое:

Shell

xrandr --output VGA-0 --brightness .85 &
Где brightness в процентах.

Код: Выделить всё

import __hello__
Спасибо сказали:

UriyZenkov
Сообщения: 306
ОС: Devuan GNU/Linux

Re: РЕШЕНО. Регулировка яркости

Сообщение UriyZenkov » 10.08.2018 00:04

delvin-fil писал:
09.08.2018 03:43
Ну ЙОмое:
Shell

xrandr --output VGA-0 --brightness .85 &
это только в иксах, а выше универсальное решение.
Да и
xrandr --output VGA-0 --brightness .85
warning: output VGA-0 not found; ignoring
xrandr: Need crtc to set gamma on.
Спасибо сказали:

Вернуться в «GUI, DE/WM»