К статье
USB, кабели, питание и передача данных

USB.RU / Инструменты / Дисплеи и XR

Яркость внешнего монитора в Linux: от первой команды ddcutil до удобных клавиш

Находим нужный дисплей, читаем исходную яркость, безопасно меняем её и разбираемся с правами доступа и доками.

Обновлено 15 октября 2026 · 6 мин чтения

Клавиши яркости работают на ноутбуке, а подключённый монитор их словно не замечает. На столе с двумя экранами приходится открывать два аппаратных меню. ddcutil позволяет обращаться к совместимому внешнему монитору прямо из Linux. Несколько команд помогут выяснить, работает ли DDC/CI, и менять яркость с клавиатуры. Начнём с чтения настроек: так после опыта будет известно, что именно возвращать.

Прокрутите схему по горизонтали, чтобы прочитать подписи.

Последовательность ddcutil: обнаружить экран, прочитать яркость VCP 10, записать исходное значение, изменить настройку и прочитать её снова. Номер экрана и 40 служат примерами.
Открыть схему в полном размере ↗
Последовательность ddcutil: обнаружить экран, прочитать яркость VCP 10, записать исходное значение, изменить настройку и прочитать её снова. Номер экрана и 40 служат примерами.

Для этого нужен монитор с DDC/CI и соединение, которое пропускает команды. Встроенная панель ноутбука обычно управляется другим способом. Изменение её яркости через окружение рабочего стола не подтверждает работоспособность DDC на внешнем экране.

Подготовьте монитор и установите пакет

Найдите DDC/CI в экранном меню монитора по руководству модели. Включите эту функцию. Запишите аппаратную яркость и режим изображения. Для первого опыта удобен обычный SDR-режим с доступной ручной яркостью. Если включён HDR, запишите его состояние до временного отключения.

Установите пакет ddcutil средствами своего дистрибутива. Например, в Debian или Ubuntu команда sudo apt install ddcutil устанавливает пакет из настроенных репозиториев. В других системах используйте их менеджер пакетов. Не копируйте пакетный менеджер из примера, если ваш дистрибутив другой. После установки выполните ddcutil --version, чтобы сохранить номер программы для дальнейшей диагностики.

У проекта есть официальная документация ddcutil и графическая оболочка ddcui. Первую проверку удобнее провести командами: их результат можно точно повторить. Графическое окно пригодится позже, когда сам обмен уже проверен.

Найдите экран и прочитайте исходную яркость

В терминале выполните:

ddcutil detect

Команда перечисляет обнаруженные дисплеи. Сопоставьте название модели с экраном на столе. Запишите номер Display и I2C bus. При двух одинаковых мониторах дополнительно сверяйте серийный номер, если он доступен. Не продолжайте запись команд в неизвестное устройство.

В следующем примере нужный монитор имеет номер 1. Если у вас другой номер, замените его во всех командах:

ddcutil --display 1 getvcp 10

Код 10 здесь читается как шестнадцатеричный VCP-код яркости. Значение яркости в ответе включает текущую и максимальную величину. Сохраните обе. Подробно выбор дисплея и команды описаны в Command Overview.

Не считайте шкалу автоматически процентной. Если ответ сообщает максимум 100, значение 40 составляет 40% диапазона настройки. У другой модели шкала может отличаться. Это также не измерение яркости в кд/м² и не основание выставлять одинаковые цифры на разных экранах.

Сделайте один небольшой шаг и верните его

Если чтение удалось и экран определён верно, уменьшите яркость на пять единиц:

ddcutil --display 1 setvcp 10 - 5
ddcutil --display 1 getvcp 10

Пробелы вокруг минуса нужны: так задаётся относительное изменение. Убедитесь, что потемнел нужный экран. Откройте аппаратное меню и сравните показание, если монитор его отображает. Затем верните исходное значение. Например, только если вы записали первоначальное значение 60:

ddcutil --display 1 setvcp 10 60
ddcutil --display 1 getvcp 10

Число 60 в этом примере не является рекомендуемой яркостью. Подставьте своё исходное значение. Первое чтение сохраняет путь возврата; второе подтверждает, что монитор сообщил нужное состояние. В описании setvcp объясняется встроенная проверка записи. Не отключайте её через --noverify ради небольшой экономии времени при первоначальной настройке.

Если команда сообщает успех, а картинка не меняется, проверьте режим монитора и его аппаратное меню. Показание и наблюдение нужно сопоставлять. Ограничения конкретной модели могут проявляться только в определённом пресете или HDR.

Ошибка доступа: сначала выясните причину

ddcutil нужен доступ к связанным с видеоконтроллером устройствам /dev/i2c-*. Современная установка обычно включает правило udev с uaccess, однако упаковка дистрибутива и тип сеанса могут отличаться. Это описано в I2C Device Permissions.

Если обычный detect сообщает отказ в доступе, можно однократно сравнить его с sudo ddcutil detect. Успешное обнаружение с правами администратора при отказе обычному пользователю указывает на права доступа. Дальше проверьте установленные правила пакета и рекомендации дистрибутива. На рабочей машине передайте администратору точную ошибку и версию пакета.

Не выдавайте всем пользователям запись во все I2C-устройства командой chmod 666 и не запускайте графическую оболочку постоянно от root. У I2C есть и другие устройства; широкое разрешение выходит за рамки управления монитором. Для сеанса без локального входа правила доступа тоже могут отличаться от обычного рабочего стола.

Если нужных устройств вообще нет, проверьте наличие модуля i2c-dev. Проект поясняет, что в одних ядрах он встроен, в других загружается отдельно. На системе с доступным модулем администратор может выполнить sudo modprobe i2c-dev, затем повторить обнаружение. Инструкция по модулю ядра описывает и постоянную загрузку. Добавлять её до успешной разовой проверки незачем.

Монитор обнаружился, но DDC не отвечает

Проверьте включение DDC/CI физическими кнопками. Затем подключите монитор напрямую к компьютеру, временно исключив док и переходник. Повторите detect и чтение 10. Если напрямую всё работает, возвращайте устройства цепочки по одному, каждый раз проверяя ту же команду.

Сохраните удачную и неудачную схему в паспорте монитора. Наличие изображения не подтверждает прохождение управляющих команд. Для понимания видеочасти используйте расчёт полосы подключения, но его успешный результат тоже не проверяет DDC.

При частичном ответе полезна команда ddcutil --display 1 capabilities. Она читает заявленные возможности. Однако строка capabilities у мониторов бывает неточной, что отмечено в FAQ ddcutil. Не отправляйте подряд все VCP-коды ради эксперимента. Для задачи яркости достаточно проверенного чтения и небольшой записи 10 с восстановлением.

Назначьте клавиши после проверки пробуждения

Выберите комфортное значение вручную, затем проверьте сон и пробуждение, переподключение дока и перезагрузку. После изменения состава экранов снова выполните detect: номер дисплея или шины может измениться. До автоматизации убедитесь, что выбранный идентификатор устойчив в вашей схеме.

В настройках сочетаний вашего окружения рабочего стола можно назначить две проверенные команды с setvcp 10 - 5 и setvcp 10 + 5. Подставьте правильный выбор монитора и не держите клавишу нажатой во время первого опыта. Если встроенная регулировка яркости уже работает с этим экраном, дополнительная привязка может оказаться лишней. Альтернатива терминалу для повседневного управления есть в ddcui.

Для отмены удалите свои сочетания, верните записанную яркость через setvcp либо аппаратное меню. Удаление пакета не возвращает настройку, уже сохранённую монитором. Если сравниваете тот же экран с Windows, Twinkle Tray поможет повторить аппаратную проверку в другой системе, сохранив исходные значения для каждой рабочей конфигурации.

Вернуться в раздел «Инструменты» →

Продолжить чтение

Ещё на USB.RU

Хватит ли полосы для монитора: почему расчёт пикселей ещё не даёт ответ

Разрешение, частота, цвет, DisplayPort, DSC и распределение линий USB-C: как избежать ложной гарантии режима.

Сколько мониторов подключить: считать нужно возможности компьютера

Число портов, MST, Thunderbolt и DisplayLink не взаимозаменяемы. Как проверить независимые экраны до покупки дока.

Паспорт монитора USB-C: видео, питание, хаб и последовательное подключение

Какие характеристики монитора сохранить, чтобы понимать работу одного кабеля и ограничения дока.