Управление яркостью экрана для внешнего монитора в Ubuntu (GUI и CLI)
Хотите контролировать яркость экрана, предустановку цвета, контрастность и т. д. для внешнего монитора, подключенного к настольному ПК или ноутбуку? Вот как это можно сделать с помощью графического интерфейса и командной строки в Ubuntu и других Linux!
Я знаю, что есть физические кнопки для выполнения этой работы. Но для ленивых людей и/или разработчиков программного обеспечения несколько щелчков мышью и/или одна команда могут быть более эффективными. А ddcutil — это инструмент для пользователей Linux.
ddcutil — это бесплатный инструмент с открытым исходным кодом, который использует протокол DDC/CI для управления настройками большинства внешних мониторов. Он также поддерживает некоторые мониторы (например, Eizo ColorEdge, Apple Cinema) через USB.
ПРИМЕЧАНИЕ. Большинство современных мониторов поддерживают протокол DDC/CI, но он может НЕ быть включен по умолчанию. Проверьте меню с помощью физических кнопок.
Шаг 1. Установите ddcutil и ddcui.
Пакет ddcutil доступен в большинстве системных репозиториев Linux, включая Ubuntu, Arch Linux, Fedora, Debian. Пользователь может найти и установить его напрямую из системного App Store (программное приложение, диспетчер пакетов)
Однако пакет в репозитории Ubuntu всегда старый. Для самой последней версии существует официальный PPA-репозиторий, поддерживаемый разработчиком программного обеспечения, который на данный момент поддерживает Ubuntu 20.04, Ubuntu 22.04 и Ubuntu 22.10.
После добавления PPA обновите индекс системного пакета с помощью команды:
sudo apt update
Наконец, установите утилиту командной строки и графический интерфейс, выполнив команду:
sudo apt install ddcui ddcutil
Шаг 2. Управляйте яркостью и другими настройками монитора с помощью графического инструмента.
После установки найдите и откройте «ddcui» в обзоре действий или меню «Пуск» в зависимости от среды вашего рабочего стола.
ПРИМЕЧАНИЕ. При возникновении проблемы «ошибка доступа: разрешение отклонено» либо запустите приложение с помощью команды sudo ddcui
, либо запустите команду, чтобы добавить текущего пользователя в группу i2c (требуется перезагрузка системы): >
sudo gpasswd --add $USER i2c
Когда приложение запустится, выберите свой монитор (если доступно более одного) из раскрывающегося списка.
Затем перейдите в меню Вид -> Функции. Там вы увидите параметры управления яркостью экрана, настройкой цвета, контрастностью, цветами RGB, часами, восстановлением заводских настроек и т. д.!
Шаг 3. Управление настройками монитора из командной строки
Для тех, кто знаком с командами Linux, все можно сделать, выполнив следующие действия. ПРИМЕЧАНИЕ. sudo
НЕ требуется после добавления пользователя в группу i2c и перезагрузки.
1. Сначала откройте окно терминала и выполните команду, чтобы сообщить обо всех подключенных мониторах:
sudo ddcutil detect
В моем случае у меня есть встроенный дисплей ноутбука и внешний «Дисплей 1».
2. Затем запросите строку возможностей монитора для дисплея 1 (в моем случае -d 1):
sudo ddcutil -d 1 capabilities
На скриншоте я добавил параметр grep
для фильтрации «Яркости», и выходной код 10 — это то, что мне нужно.
3. Получите текущее значение кода функции 10 («яркость» в данном случае) для дисплея 1:
sudo ddcutil -d 1 getvcp 10
3. Установите уровень яркости (код 10) на 60 например:
sudo ddcutil -d 1 setvcp 10 60
Помимо настройки яркости на индивидуальный уровень, вы также можете увеличить или уменьшить яркость с помощью опций «+», «-». Например, увеличьте яркость (код 10) с уровня 5 вверх.
ddcutil -d 1 setvcp 10 + 5
Или уменьшите яркость с помощью уровня 5 вниз:
ddcutil -d 1 setvcp 10 - 5
Это может быть полезно для привязки к сочетанию клавиш для управления яркостью монитора. Дополнительные параметры можно найти на странице руководства, выполнив команду man ddcutil
в терминале.