Настройка яркости монитора из командной строки Linux
Оригинал: How To Adjust Monitor Brightness From Command Line In Linux
Автор: SK
Дата публикации: 1 октября 2018 года
Перевод: А. Кривошей
Дата перевода: январь 2019 г.
Это краткое руководство объясняет, как можно отрегулировать яркость монитора из командной строки в Unix-подобных операционных системах. Регулировка яркости экрана в режиме графического интерфейса проста. Мы уже рассматривали графическое приложение Brightness Controller , которое поможет нам управлять яркостью в Ubuntu-подобных операционных системах. Но разработка этого приложения, похоже, остановилась более года назад, и я не уверен, будет ли оно работать с последними версиями Ubuntu. Еще одним недостатком является то, что приложение Brightness Controller совместимо только с Python2. Ища альтернативные пути, я узнал, что мы можем легко решить эту задачу с помощью утилиты командной строки под названием «xrandr».
Программа xrandr используется для настройки размера, ориентации и/или отражения выходных данных для экрана. Используя Xrandr, мы также можем отображать текущее состояние экрана, изменять или устанавливать разрешение, отключать и включать выходы. Радует, что Xrandr предустановлен в большинстве дистрибутивов Linux, поэтому нам не нужно беспокоиться об установке дополнительных утилит.
Сначала нам нужно проверить текущее состояние системного дисплея. Для этого выполните следующую команду:
Как видите, в данный момент подключен дисплей LVDS-1. Вывод также отображает текущее разрешение и частоту обновления экрана.
Если вы хотите узнать имя только активного дисплея, используйте команды «grep» и «head» с «xrandr», как показано ниже.
Значение яркости должно быть в диапазоне от 0,0 до 1,0, где 0,0 обозначает самый тусклый (полностью черный) экран, а 1,0 — самый яркий. Например, чтобы установить значение яркости экрана 0,7, выполните:
Замените LVDS-1 вашим именем активного дисплея. Здесь 0,7 означает 70% максимальной яркости дисплея.
Чтобы вернуться к нормальной яркости, выполните:
Не используйте значения выше 1.0. ОНи могут сделать дисплей полностью белым, и вы не сможете ничего увидеть на экране.
Источник
Как я боролся с регулировкой яркости экрана в Linux
Проблема регулировки яркости экрана в Linux знакома, пожалуй, каждому кто ставил «пингвина» на ноутбук или моноблок. Причём сама установка, как правило, происходит безболезненно, а вот после перезагрузки уже возможны варианты.
Как заставить нормально работать подсветку экрана в Linux покажу на примере дистрибутива Deepin и моноблока Lenovo AIO 330-20AST. Нет особой разницы в том, какой дистрибутив Linux установлен, главное уловить суть проблемы, а решения везде похожи.
Итак, после первой перезагрузки свежеустановленного Deepin Linux вдруг резко снизился уровень яркости экрана, причём ползунок регулировки выставлен на максимальные 100%. Из особенностей моноблока Lenovo AIO 330-20AST можно отметить отсутствие физических клавиш регулировки яркости на клавиатуре (обычно комбинация [Fn]+[клавиша увеличения/уменьшения яркости]). Предполагается, что всё должно работать программно из операционной системы.
Регулировать яркость экрана получалось от уровня «совсем ничего не видно» до «видно с трудом». Понятно, что это какой-то косяк в настройках, осталось его найти.
Уровень яркости подсветки экрана в Linux контролируется с помощью ACPI (Advanced Configuration and Power Interface — усовершенствованный интерфейс конфигурации и управления питанием) модуля ядра для видео или графическим драйвером.
Сам интерфейс управления подсветкой доступен через папку sysfs в /sys/class/backlight. Посмотрим что там находится:
Имя папки зависит от модели видеокарты и их может быть несколько, если она у вас не одна. Так, для видеокарт от Intel она называется intel_backlight, у AMD может встретиться название radeon0. Зачастую, Linux пишет изменения настроек яркости не в тот каталог, например в acpi_video0, когда реально используется intel_backlight. Заглянем внутрь:
Значение максимальной яркости содержится в файле max_brightness. Рекомендую сперва заглянуть в данный файл, чтобы определить какое значение следует выставить для работы (обычно оно равняется 15, но в моём случае было 100, от того и максимальная яркость моноблока после перезагрузки составляла лишь 15% от реальной).
Файл brightness содержит текущее значение яркости (у меня там стояло число 15). До этого уровня Deepin Linux и предлагал мне регулировки из графической оболочки. Текущее значение в данном файле не может быть выше максимальной яркости, установленной в max_brightness. Моя борьба с подсветкой экрана на Lenovo AIO 330-20AST заключалась в изменении всего одного параметра:
sudo tee /sys/class/backlight/acpi_video0/brightness
Как я уже упоминал чуть ранее, не редко из-за специфических особенностей конкретного ноутбука или моноблока ACPI не работает должным образом или Linux не правильно определяет чем же нужно управлять. В таком случае следует менять в grub параметр ядра acpi_backlight при загрузке.
Как всегда в Linux возможны различные варианты и дать какой-то универсальный совет сложно — каждый случай уникален по своему. Обычно советуют добавить добавить acpi_backlight=vendor в grub, но это не всегда помагает. Возможны так же значения «video», «native» или «none». После того, как найдёте нужный, можно править загрузчик GRUB на постоянку.
sudo nano /etc/default/grub
Если считаете статью полезной,
не ленитесь ставить лайки и делиться с друзьями.
Источник
Ложка дегтя в бочке меда Linux Mint: или как я яркость поборол
Доброго времени суток хабравчане!
На хабре было много обзоров и статей с впечатлениями от перехода на ОС Linux, в которых раскрывались все плюсы и минусы, мнения и решения некоторых проблем при работе с данной ОС. Не оказался исключением и я. О том, как я перешел на Linux Mint и о том, как решал проблему с яркостью подсветки, читайте под катом.
В жизни каждого айтишника порой наступает момент, когда он решает попробовать что-то новое и, собравшись с волей, сделав бэкап всего важного, записывает на болванку или флешку образ с так долго отобранным дистрибутивом (в моем случае я выбрал Linux Mint 17 x64 Cinnamon) Linux. И с ожиданием чуда загружается с нее.
Не буду описывать процесс установки, он и так везде описан по несколько раз. Скажу лишь что установка, на удивление прошла безболезненно. После перезагрузок меня встретил экран приветствия с приглашением ввода ввести логин и пароль пользователя, что я незамедлительно и проделал. После входа меня встретил приятных тонов рабочий стол и на мгновенье мне показалось, что я им пользовался сто лет! Все такое родное и понятное, что заставляет забыть о существовании Windows.
Первое впечатление оказалось весьма позитивными, я потихоньку начал осваивать новую для меня ОС. Прочитал руководство, заглянул на тематический форум, начал исследовать систему. На хабре были обзоры этого дистрибутива и у меня было представление о ней. Все компоненты ноутбука заработали с первого раза, wifi, bluetooth, веб-камера, даже USB-модем без установки драйверов сразу же определился системой, и после простых действий по указанию точки доступа заработал в полной мере.
Понравилась идея репозиториев, Менеджер программ с тысячами программ в одном месте. Так я начал осваиваться. Первым делом поставил нужное ПО, чтобы не было скучно; я включил музыку в плейере (кстати, Audacious заменил мне AIMP) и в какой-то момент захотел увеличить громкость. Нажал заветную комбинацию Fn+курсор вправо и задел пальцем клавишу курсор вниз, то есть понижение яркости. На мое удивление, это не оказало никакого эффекта на уровень подсветки. Я попробовал еще раз, индикатор показал изменение, но яркость не поменялась.
Начал гуглить это явление. Из результатов поиска понял, что не у меня одного не меняется яркость и стал искать решение. К слову, конфигурацию ноутбука Lenovo B570e с процессором Core i5 2450m/ 4Gb RAM/ 500Gb HDD/ Intel HD Graphics 3000. Как оказалось, другие модели ноутбуков данного и других производителей также имеют проблему с регулированием яркости подсветки. Первым решением, которое я испробовал, было редактирование файла загрузчика grub. Выполнялось это таким порядком действий:
В терминале набирал команду:
И в открывшемся окне текстового редактора нашел две строчки и привел их в такой вид:
Сохранил произведенные мною изменения и выполнил обновление загрузчика:
После этого перезагрузился и попробовал. После перезагрузки клавиши все также отказывались управлять яркостью, плюс ко всему пропал индикатор яркости, но получилось изменить яркость с помощью апплета управления яркостью.
Вторым методом я испробовал следующую команду в терминале:
Где хх является значение от нуля до 100. На эту команду ноутбук не среагировал никак.
И, наконец, третий способ, заключался в том, чтобы изменить первые две строчки, но уже до такого вида:
В этом случае на экране отображается индикатор изменения яркости, но самого изменения яркости все также не происходило. Также и не получалось изменить яркость через апплет управления яркостью. После этих манипуляций вернул все как было и продолжил искать другие решения.
Вторым решением, которое нашлось на просторах интернета, было следующее.
В домашнем каталоге нужно было создать файл, с любым именем, но с форматом *.sh и внутри его прописать следующие значения:
Где 0 — яркость, а /sys/class/backlight/acpi_video1/brightness — путь к файлу, в котором сохраняется текущее значение яркости из параметров системы. После сохранения файла нужно было настроить его права доступа таким образом:
И запускать данный скрипт из терминала:
В результате значение яркости изменялось, но это решение не удовлетворило меня своей сложностью и лишними телодвижениями. Было найдено еще одно решение, уже на хабре , которое тоже не подошло. Под конец я наткнулся на еще одно решение, но из зарубежного сайта, которое и устроило меня в полной мере. В ней указывалось, что это решение для ноутбуков с графическими решениями от Intel, что мне более чем полностью подходило. Привожу это решение:
Запустить терминал и выполнить следующую команду:
В результате мы увидим такой вывод команды:
После чего создать конфигурационный файл, если его не существует, следующей командой в терминале:
Открываем только что созданный нами файл для редактирования:
Он должен быть пустым и прописываем в него следующее:
Сохраняем. Перезагружаем. И — вуаля! В результате клавиши управления яркостью подсветки работают, индикатор уровня яркости отображается.
Таким образом, чуточкой терпения и упорства я решил эту проблему, на мой взгляд, наиболее элегантным способом. Надеюсь, что мой вклад в решение этой проблемы поможет другим пользователям.
Источник
Как изменить яркость экрана?
имеется Lenovo IdeaPad Y500 и Ubuntu 13.10. на которой не работает регулирование яркости монитора. Посоветуйте что сделать, чтобы её уменьшить?
Поставить световой между вами и монитором.
Ну а по факту — нужно читать change логи ядра, возможно для начала просто поставить ядро по новее.
Спасибо! Попробовал оба способа — ни один, к сожалению, не помог 🙁
Я этими же мыслями руководствовался, когда сегодня обновлялся с 13.04. на 13.10. Обновление не помогло, только переключение шрифтов отвалилось.
Не верится мне, что в ядре по свеженее это исправлено, а читать чейнджлоги, признаюсь, лень. Особенно читать их при такой яркости 🙁
А что с xbacklight?
Как обычно: давай dmesg
Темные очки одень)
Похоже, что не работает: xbacklight -dec 10 сделал пару-тройку раз, но изменений не вижу.
Потом в xev ловишь
Спасибо, я пробовал, но почему-то не помогло 🙁
На последнюю фразу не обращай внимания, это если хочешь к мультимедийным клавишам забиндить измнение яркости.
ACPI FADT declares the system doesn’t support PCIe ASPM, so disable it
Это лечится? Может обновление ядра поможет? Или всё, можно ставить крест?
kernel-ppa/mainline/ последенее ядро для saucy и установил (3.12.0-031200rc7-generic) Ничего не изменилось.
Что детектит ядро?
Сделает потемней везде и всегда (у меня монитор к ноутбуку подключен, наверное вам надо LVDS1 вместо VGA1). А если батарейку хочется экономить, то надо ответ на вопрос чуть выше, от анонимуса. От писания в /sys/class/backlight/acpi_video0/brightness или /sys/class/backlight/intel_backlight/brightness яркость меняется? dmesg наверное надо посмотреть.
На всякий случай скажу, что изменять значения в файле /sys/class/backlight/acpi_video0/brightness я пробовал и это не помогло.
О! Спасибо! Заработала команда xrandr —output LVDS-1 —brightness .5
Может сходу подскажете куда её правильно прописать, чтобы срабатывала при старте иксов? Когда-то был
/.xinit.d а сейчас что модно?
От писания в /sys/class/backlight/acpi_video0/brightness или /sys/class/backlight/intel_backlight/brightness яркость меняется?
Нет, не меняется. А второго файла нет совсем.
С ходу не подскажу.. у меня арчик и XFCE, если бы было надо, то прописал бы в XFCE’шные «application autostart», а так имею алиас в баше, чтобы ночью лампу потише делать. В убунте нету автозапуска по старту DE?
Единственно, повторюсь, что такой способ суть — залепа. xrandr —brightness просто меняет цвета пикселей на потемней, работает даже на ЭЛТ. xbacklight — делает лампочки подсветки потише, что неминуемо ведет к экономии батарейки.
dmesg, извиняюсь, сразу не заметил. Уже почитал.
к сожелению без пердолинга никак. в ubuntu регулировка яркости не работает.
Во-первых в этом dmesg-е много ругани на ACPI-таблицы. Можно попробовать обновить биос, на всякий случай записав текущую версию, чтобы в случае чего можно было откатиться назад.
Во-вторых, в этом dmesg-е у ядра нет опции acpi_backlight=vendor Что будет если её добавить и попробовать:
Можно попробовать вместо nouveau установить драйвер nvidia и проверить то же самое, т.е. запись в /sys/class/backlight/*/brightness с опцией acpi_backlight=vendor и без неё.
Для закрытых дров nvidia ещё можно попробовать вариант:
Источник