Как изменить яркость монитора в Linux?

Как программно изменить яркость монитора в Linux?

Я использую SLES 11.


person Alexander Stolz    schedule 08.07.2011    source источник
comment
возможный дубликат Можно ли изменить яркость экрана с помощью c?   -  person Alexander Stolz    schedule 03.11.2011


Ответы (10)


Вы всегда можете использовать

xrandr --output LVDS1 --brightness 0.9
person christof    schedule 21.12.2012
comment
LVDS1 — это имя дисплея, который вы хотите изменить. Запустите xrandr и проверьте название вашего дисплея. Линия будет выглядеть примерно как LVDS1, подключенная 1920x1080+0+0. - person spiffytech; 02.01.2014
comment
Цитата из man xrandr относительно --brightness: это только программная модификация, если ваше оборудование поддерживает фактическое изменение яркости, вы, вероятно, предпочтете использовать xbacklight - person Amr Mostafa; 29.03.2014
comment
измените LVDS1 на eDP, если у вас есть ноутбук, если у вас есть монитор DP и он подключен к DP, вместо этого используйте DP, то же самое с DVI1, DVI2 и т. д. - person nwgat; 05.04.2014
comment
Амр прав. Это может превратить все белое в черное или все черное в белое; но не сделать белый ярче - person BeniBela; 11.04.2014
comment
Поскольку этот ответ на самом деле не меняет яркость монитора, вам лучше попробовать возможности из этого ответа: askubuntu.com/a/1181157/1046889 - person Apfelkuacha; 10.01.2021

Вы можете попробовать использовать xbacklight.

xbacklight -set 100

person foxhead128    schedule 26.03.2013

Для меня это отлично работает с xbacklight. Если вы, например, хотите настроить привязку клавиш, вы можете использовать

bindsym $SUPER+Shift+plus   exec  xbacklight -inc 10
bindsym $SUPER+Shift+minus  exec  xbacklight -dec 10

в конфигурации вашего оконного менеджера (я использую i3), чтобы регулировать уровень яркости экрана.

Я бы не рекомендовал xrandr для этого, так как он не останавливается на 100% яркости автоматически.

person artemis_clyde    schedule 08.10.2015

На моей машине я запускаю следующее как root:

echo -n 10 > /sys/devices/virtual/backlight/acpi_video0/brightness
person whoplisp    schedule 08.07.2011
comment
Это то, что я использую, но вводить эту команду каждый раз неудобно, поэтому вы можете добавить функцию оболочки в свой файл .bashrc, что-то вроде function brightness() { echo $1 > /sys/class/backlight/acpi_video0/brightness } - person Max Wallace; 08.09.2013
comment
Я получил echo: write error: Invalid argument, когда попробовал это. Возможно, вам придется сначала проверить /sys/class/backlight/acpi_video0/max_brightness. Оказалось, что для меня max_brightness равно 7. - person dr_agon; 15.12.2014
comment
Это работает, но яркость 0 приводит только к более темному экрану, а не к пустому темному экрану (например, выключение) !!! Любая идея, почему? - person ransh; 25.11.2016

Приложение ddcutil может изменить фактическую яркость подсветки монитора (а не просто настроить вывод X11 с помощью xrandr). Это должно работать для любых мониторов, которые поддерживают эту возможность через Display Data Channel (DDC существует уже некоторое время, поэтому я подозреваю, что он будет широко поддерживаться). Я использую ddcutil для автоматической настройки монитора на основе уровня окружающего освещения, снятого с веб-камеры. Ddcutil использует модуль ядра i2c-dev (modprobe i2c-dev или установите его для загрузки при загрузке).

ddcutil detect                    # Get list of DDC displays
ddcutil --display 2 capabilities  # List VCP feature key numbers
ddcutil --display 2 getvcp 10     # Get brightness by key number
ddcutil --display 2 setvcp 10 50  # Set brightness to 50                                                                            
person Michael Hamilton    schedule 19.07.2021

Вы можете использовать xgamma. Хотя это не чистый код, по крайней мере, это просто утилита командной строки.

person rockerest    schedule 08.07.2011
comment
xgamma - это не яркость монитора, это фильтрация изображения перед выводом на карту VGA. - person osgx; 08.07.2011

Если у вас установлено несколько дисплеев и установлен php, поместите это в

/usr/bin/яркость

#!/usr/bin/php
<?
$br=(double)$argv[1];
if(!$br||$br>1) die("enter brightness lvl 0.1 - 1");
preg_match_all('!^(\S+)!m',`xrandr --current | grep ' connected'`,$m);
foreach($m[1] as $display){
        echo `xrandr --output $display --brightness $br`."\n";
}

чем звонить brightness .7

person 13DaGGeR    schedule 23.06.2017

Вот простой шаг для управления яркостью в системе на базе Linux.

Во-первых, вы должны знать, что экран мониторинга подключил вас.

Чтобы узнать это, запустите эту команду

xrandr -q

Это даст полезную информацию об экране

экран_информация

(Здесь мой экран подключен к eDP, он может отличаться для вашей системы)

Зная это, запустите приведенную ниже команду

xrandr --output eDP --brightness [0-10]

Замените eDP подключенным экраном из приведенного выше вывода.

вы можете выбрать нормальные значения яркости от 0,1 до 1,0

person KrisH Jodu    schedule 30.08.2020

отредактируйте /etc/default/grub файл и добавьте

“pcie_aspm=force acpi_backlight=vendor” после

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”

после изменений вся строка будет выглядеть так

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash pcie_aspm=force acpi_backlight=vendor”

Чираг Сингх

person chirag singh    schedule 13.02.2015

команда для этого:

хгамма -гамма 0,7

person anonim    schedule 01.12.2020
comment
Добро пожаловать в Stack Overflow. Можете ли вы уточнить свой ответ? В таком случае, для каких операционных систем это вариант? Что изменяет аргумент гамма? Предустановлен ли xgamma? - person mhovd; 01.12.2020