Регулируем яркость экрана монитора в командной строке Linux
prolinux
Опубликован: | 2024-01-01T06:22:51.766018Z |
Отредактирован: | 2024-01-01T06:22:51.766018Z |
Статус: | публичный |
Современный компьютер имеет широкую номенклатуру аппаратных реализаций, к ним устойчиво и на долго приклеилось нерусское слово "девайс". Очень распространены в последнее время мобильные компьютеры, так называемые лэптопы или ноутбуки. Характерной особенностью таких компьютеров является отсутствие аппаратных средств настройки яркости экрана монитора, в отличие от мониторов стационарных компьютеров. Как настроить яркость экрана в таком случае? Именно об этом поговорим в очередном выпуске этого уютного блога на примере операционной системы Debian.
Программные средства регулировки яркости
Компьютер, благодаря программному обеспечению, является достаточно умной электронной машиной. И если в его арсенале нет аппаратных средств для решения той или иной проблемы, обязательно найдутся соответствующие программные средства.
В моём распоряжении имеется достаточно старый по меркам компьютеров лэптоп, произведённый на свет Южно-Корейской корпорацией Samsung в далёком и благополучном 2012 году - это мой основной рабочий компьютер - инструмент, помогающий достигать некоторых целей и желаемого. На борту этого компьютера установлена операционная система Debian sid. Аппаратных кнопок на мониторе лэптопа для регулировки его яркости естественно нет, но на клавиатуре предусмотрены функциональные клавиши. И чтобы они работали, в операционной системе установлена специальная программа.
В моей системе для этих целей используется довольно возрастной и очень привычный менеджер питания - Mate Power Manager. Он располагает средствами для регулировки яркости экрана. Вот как выглядит окно его настроек.
Как видно, движок позволяет выставлять яркость экрана в процентном соотношении с минимальным интервалом в один процент. А поместив Mate Power Manager в автозагрузку, я каждый раз при включении питания и загрузке компьютера получаю яркость экрана, установленную в предыдущем сеансе. Кроме этого, при включенном менеджере питания функциональные клавиши на клавиатуре (Fn+F2
, Fn+F3
) позволяют регулировать яркость не активируя окно менеджера питания. Но увеличение или уменьшение яркости за одно нажатие происходит на заданную величину с интервалом в 5%.
На экране в этот момент появляется модальное окошко с лампочкой и шкалой прогресса. Казалось бы, всё удобно и юзабельно. Чего ещё нужно? Но в каждой речке, как известно, всегда находятся подводные камушки.
Что ещё нужно?
Нужна возможность регулировать яркость экрана c более гибким интервалом изменения величины и при этом не снимать пальцы рук с основной позиции на клавиатуре (ФЫВА ... ОЛДЖ
), и не возить по экрану указателем мыши. У каждого пользователя свои предпочтения. Давайте посмотрим, как можно достичь желаемого простыми средствами.
Управлять компьютером с помощью клавиатуры и при этом не снимать пальцы с основной позиции на ней придумали очень давно разработчики легендарной операционной системы Unix. А Debian, о котором я рассказываю в этом блоге, является Unix-подобной операционной системой. В конце концов, UNIX-WAY - это красиво, "сто" лет назад придумано, а до сих пор красиво.
Действенное средство
Доктор, у меня предпочтения, пропишите мне что-нибудь действенное, пожалуйста... :)
В пакетной базе Debian есть специальная программа для регулировки яркости экрана монитора, она называется brightnessctl, имеет интерфейс командной строки и вполне эффективна на лэптопах. Установить её можно с помощью пакетного менеджера apt, при условии, что он подключен к любому зеркалу официального хранилища пакетов Debian.
$ sudo apt install brightnessclt
Сразу после распаковки и установки пакета программа готова к использованию в любом графическом эмуляторе терминала.
Справка brightnessctl
Как и любая другая программа командной строки, brightnessctl имеет встроенную справку, увидеть её можно вот такой командой:
$ brightnessctl --help
Кому-то может показаться, что у программы слишком длинное имя, но автодополнение в терминале эту проблему решает, просто набираем первые три символа имени и нажимаем клавишу Tab
. Вот как выглядит выхлоп в результате выполнения предложенной команды.
brightnessctl 0.5 - read and control device brightness.
Usage: brightnessctl [options] [operation] [value]
Options:
-l, --list list devices with available brightness controls.
-q, --quiet suppress output.
-p, --pretend do not perform write operations.
-m, --machine-readable produce machine-readable output.
-n, --min-value set minimum brightness, defaults to 1.
-e, --exponent[=K] changes percentage curve to exponential.
-s, --save save previous state in a temporary file.
-r, --restore restore previous saved state.
-h, --help print this help.
-d, --device=DEVICE specify device name (can be a wildcard).
-c, --class=CLASS specify device class.
-V, --version print version and exit.
Operations:
i, info get device info.
g, get get current brightness of the device.
m, max get maximum brightness of the device.
s, set VALUE set brightness of the device.
Valid values:
specific value Example: 500
percentage value Example: 50%
specific delta Example: 50- or +10
percentage delta Example: 50%- or +10%
Получаем информацию о доступных устройствах
Чтобы воспользоваться программой и достичь желаемого, на начальном этапе необходимо получить список "девайсов", параметрами которых программа умеет управлять. Для этого воспользуемся ключом -l
.
$ brightnessctl -l
И вот что показывает эта команда в моём терминале.
Available devices:
Device 'intel_backlight' of class 'backlight':
Current brightness: 2783 (57%)
Max brightness: 4882
Device 'input0::scrolllock' of class 'leds':
Current brightness: 0 (0%)
Max brightness: 1
Device 'input0::capslock' of class 'leds':
Current brightness: 0 (0%)
Max brightness: 1
Device 'ath9k-phy0' of class 'leds':
Current brightness: 255 (100%)
Max brightness: 255
Device 'input0::numlock' of class 'leds':
Current brightness: 1 (100%)
Max brightness: 1
Как мы видим из выхлопа, для каждого устройства в списке указано текущее состояние параметра - яркости, и максимальное достижимое значение. На моей машине программа может управлять яркостью нескольких устройств, и первым в этом списке числится устройство с именем intel_backlight
- у машины процессор Intel и встроенное в процессор видео.
Кроме этого, у каждого устройства в этом списке определён ещё и класс. Таким образом, управлять яркостью устройства мы можем, обращаясь к нему по имени, или по имени класса.
Изменяем яркость экрана монитора
Давайте попробуем обратиться к устройству с помощью brightnessctl по его имени. Начнём с общей информации по устройству.
$ brightnessctl -d intel_backlight i
Увидим следующий выхлоп.
Device 'intel_backlight' of class 'backlight':
Current brightness: 2783 (57%)
Max brightness: 4882
Успех! Программа показала информацию об устройстве. Точно также мы можем обратиться к устройству по имени его класса.
$ brightnessctl -c backlight i
И в этом случае мы увидим абсолютно аналогичный выхлоп. Изменить яркость экрана монитора с помощью brightnessctl очень просто, нам потребуется операция set
, с помощью которой мы можем задать желаемое значение. При этом, значение можно задавать как в процентах, так и в условных единицах - очень плавно. Вот как возможные значения описывает справка программы.
Valid values:
specific value Example: 500
percentage value Example: 50%
specific delta Example: 50- or +10
percentage delta Example: 50%- or +10%
Обращаемся к устройству по имени.
$ brightnessctl -d intel_backlight s +3
Updated device 'intel_backlight':
Device 'intel_backlight' of class 'backlight':
Current brightness: 2786 (57%)
Max brightness: 4882
Обращаемся к устройству по имени класса.
$ brightnessctl -c backlight s 17-
Updated device 'intel_backlight':
Device 'intel_backlight' of class 'backlight':
Current brightness: 2769 (57%)
Max brightness: 4882
Как видно из выхлопа программы, при помощи brightnessctl можно изменять яркость экрана монитора очень плавно в пределах одного процента, если использовать при этом в качестве задаваемого значения условные единицы, а можно и более резко и отчётливо, используя процентное выражение.
Увы, продемонстрировать, как изменяется яркость экрана в рамках текстового блога у меня вряд ли получится, но поверьте мне на слово, она изменяется, и если не верите, проверьте. :)
Программа brightnessctl - достаточно эффективное средство для управления яркостью экрана монитора. В моём случае оператор компьютера доволен.
Выводы и умозаключения
-
Управлять компьютером можно двумя различными способами: при помощи графического пользовательского интерфейса или при помощи текстовых команд;
-
В наборе программного обеспечения операционной системы Debian для управления яркостью экрана монитора есть полный набор средств, удовлетворяющий любые предпочтения конечного пользователя;
-
Программа brightnessctl достаточно проста в освоении и использовании, даёт возможность управлять яркостью экрана в любых желаемых пропорциях с любыми интервалами, в том числе очень плавно, и при этом пальцы рук оператора всегда остаются в основной позиции на клавиатуре. UNIX-WAY - это красиво!
Метки: | cli, debian, terminal, gui, mate-power-manager, brightnessctl |