Вопрос Как изменить яркость ЖК-дисплея из командной строки (или через скрипт)?


Работать ошибка # 1005495 (изменение яркости ЖК-дисплея с помощью горячих клавиш невозможно), я хотел бы иметь один запрос командной строки для увеличения и один для уменьшения яркости моего ЖК-дисплея. Затем я мог бы сопоставить горячую клавишу для каждого из этих запросов.

Проблема в том, что я не знаю, как увеличить и уменьшить яркость ЖК-дисплея в командной строке. Вы?


138
2018-06-10 17:28


происхождения


возможный дубликат Невозможно изменить яркость в ноутбуке Lenovo - Lekensteyn
Спасибо, Лекенстейн, но это не дубликат, так как lsmod | grep ^ i915 не дает результата (см. принятое решение). Все еще ищет решение. - user69748


ответы:


еще один способ, которым мы должны это сделать, - это еще одна новая программа, называемая xbacklight, откройте ваш терминал и введите этот

sudo apt-get install xbacklight

затем введите это xbacklight -set 50 

там 50 означает диапазон яркости, мы можем получить его до 100 от 0.

вы также можете увеличить и уменьшить яркость от текущего значения до указанного уровня. Если вы хотите увеличить до 10% от текущего значения яркости, вы можете дать это

xbacklight -inc 10

и для уменьшения 10% вы можете дать это

xbacklight -dec 10 

142
2018-06-11 05:28



Похож на действительно простую команду, но мне нужно что-то вроде xbacklight - увеличить 10, чтобы увеличить яркость на 10 процентов. Это тоже возможно? - user69748
Да, ты можешь. Я уже упоминал об этом. поэтому вы можете получить это через xbacklight -inc 10 - Ten-Coin
Хорошо, теперь это в вашем ответе. Большое спасибо, я попробую это. - user69748
Это действительно выглядит просто, но, к сожалению, это не работает для меня. Яркость просто не изменяется, а не с -dec, а не с -set. Думаю, мне придется надеяться, что ошибка скоро будет исправлена. Спасибо, тем не менее. - user69748
Кроме того, имеется сокращенная версия, которую вы можете использовать: xbacklight +10; xbacklight -10; xbacklight =50; - Fordi


Откройте терминал и введите его.

xrandr -q | grep " connected"

это даст вам результат как LVDS1 подключен 1680x1050 + 0 + 0 (нормальный левый инвертированный правый ось оси x) 331 мм x 207 мм 

Там LVDS1 Стенды для вашего дисплея.

так что теперь вы должны сделать так:

xrandr --output LVDS1 --brightness 0.5

там 0,5 обозначает яркость, и она колеблется от 0,0 до 1,0. 0.0 -> Полный черный. Вы должны выбрать требуемое значение яркости.


132
2018-06-11 05:25



Спасибо за ответ, но мне нужно что-то вроде xrandr -increase 10, чтобы увеличить яркость на 10 процентов. Это тоже возможно? - user69748
это, похоже, не меняет яркость на аппаратном уровне - erjoalgo
Жаль, что этот ответ получил так много голосов. Мой экран ноутбука «эмулирует» темноту, так сказать, делая вещи темными (так же, как при воспроизведении видео с ночной сценой, это не имеет ничего общего с яркостью экрана, а скорее с пикселями, маскирующими фоновый свет). Легкость точно такая же, теряя больше батареи, чем раньше, из-за пикселей, чем сейчас, темнее. - Mephisto
Thanx это спасло мой день и глаза тоже .. :) - Shylendra Madda
Это подделывает яркость. Яркость не изменяется, она отображается программным обеспечением. - user1970939


Для меня работает следующее:

echo 400 > /sys/class/backlight/intel_backlight/brightness

Я предполагаю, что максимально возможное значение находится в /sys/class/backlight/intel_backlight/max_brightness файл.


81
2018-05-19 09:51



@Ray Попробуйте следующее: echo 400 | sudo tee /sys/class/backlight/intel_backlight/brightness, - Mygod
@ Ray, когда вы это делаете sudo echo 400 > /sys/class . .. ./brightness перенаправление выполняется оболочкой, а не эхом. И оболочка по-прежнему работает как ваш обычный пользователь, а не как sudo. Вот почему он дает разрешение на отказ. У вас должна быть утилита, которая будет записывать в файл с правами root, поэтому tee работает. - Sergiy Kolodyazhnyy
echo 400 | sudo tee /sys/class/backlight/radeon_bl0/brightness для REDON APU и карт - Suici Doga
Это смехотворно низкий уровень, но на самом деле это единственное, что надежно работает. Это становится немного менее уродливым, если вы sudo chmod 0646  brightness файл, поэтому sudo больше не требуется для настройки яркости. - leftaroundabout
Причина, по которой это задано в разрешениях su, заключается в том, что вирус, возможно, может заставить ваш экран тускнеться и ярче на невероятной скорости, что в конечном итоге повредит ваш аппаратный дисплей. В 90-е годы я столкнулся с вирусом, который бы отрегулировал обновление экрана Hertz так быстро, что ваш монитор поджарит. Поэтому будьте осторожны, настраивая разрешения на это. - RyanNerd


Для ноутбуков,
sudo setpci -s 00:02.0 F4.B=80

+ Изменить 80 от [0-FF] для получения самой низкой яркости. Значение указано в шестнадцатеричном формате, поэтому 80 даст вам 50% максимальной яркости.

Для рабочих столов (не проверенных мной),
xgamma -gamma .75


12
2018-06-10 17:37



Спасибо за ответ, но мне нужно что-то вроде setpci - увеличить 10, чтобы увеличить яркость на 10 процентов. Это тоже возможно? - user69748
спасибо за этот ответ, хорошо знать, как делаются на более низких уровнях - erjoalgo
Это был единственный ответ, который работал для меня на Samsung NB30 Plus. - OSE
Кажется, я не могу заставить это работать. Должен ли я изменить некоторые параметры, возможно, и если да, то как мне найти соответствующие значения? - Rasmus
Спасибо, я на ноутбуке, setpci не работает, но xgamma сделал. - Philip Kirkbride


Попробуйте это в терминале:

xrandr --output LVDS1 --brightness 0.9

Вы можете изменить последнее значение по своему усмотрению, например. 0.2


5
2017-09-22 22:12



1) Выход не всегда LVDS1, но пользователь может узнать с помощью xrandr --verbose 2) Не меняет интенсивность подсветки - erjoalgo


Вот короткая строка, которая поможет вам расслабить глаза. Просто создайте crontaab с линией или создайте скрипт

xrandr --output VGA1 --brightness 0.5; sleep 20; xrandr --output VGA1 --brightness 1

3
2018-03-07 20:32





Сделайте этот скрипт:

set-brightness.sh

#!/bin/bash
TARGET="acpi_video0"
cd /sys/class/backlight
MAX="$(cat "${TARGET}/max_brightness")"
# The `/1` at the end forced bc to cast the result 
# to an integer, even if $1 is a float (which it 
# should be)
LOGIC="$(echo "($1 * ${MAX})/1" | bc)"
for i in */; do
    if [[ "${TARGET}/" != "$i" && -e "${i}brightness" ]]; then
        cat "${i}max_brightness" > "${i}brightness"
    fi
done
echo "$LOGIC" > "${TARGET}/brightness"

Запустите его как root, с любым значением от 0 до 1.

sudo ./set-brightness.sh 0.5
  • Если ваша система не имеет /sys/class/backlight/acpi_video0, там должен быть хотя бы один каталог, который может быть специфичным для устройства (у меня также есть radeon_bl0, например).
  • Если у вас есть другие, имейте в виду их стек значений (следовательно, цикл, нажав все Другие значения до 1,0, а затем задание целевого значения на желаемую величину).
  • В то время как acpi_video0  должен всегда работают, он не всегда обладает полным набором физических яркостей. Попробуйте каждую из них и используйте ту, которая имеет наибольшую гамму, как ваш «TARGET»,

3
2018-03-09 19:18



Рассмотрите возможность использования /sys/class/backlight/*/brightness вместо попыток жесткого кода acpi_video0 в сценарий. Это позволит обобщить путь к файлу, который может быть другим - например, intel_backlight, а не acpi_video0, Это то, что я использовал в своем сценарий здесь - Sergiy Kolodyazhnyy