Как управлять подсветкой по команде терминала
Я пытаюсь сделать программу, которая управляет яркостью ОС Linux, но мне нужно знать, как управлять подсветкой монитора, просто используя команды терминала? Мне нужно уметь увеличиваться, уменьшаться. А также затемнение экрана (и возврат отмены затемнения), если это возможно.
9 ответов
Есть много возможностей. Просто назвать несколько:
1.Голое эхо
echo 8 > /sys/class/backlight/intel_backlight/brightness
Посмотрите /sys/class/backlight/intel_backlight/ яркость /max_brightness, чтобы увидеть, какая максимальная яркость поддерживается.
2.Самый простой в использовании
устанавливать xbacklight
пакет, а затем попробуйте
xbacklight -inc 20 # increase backlight by 20%
xbacklight -dec 30 # decrease by 30%
xbacklight -set 80 # set to 80% of max value
xbacklight -get # get the current level
3.Изощренный
Бежать xrandr --verbose
и искать строку с разрешением, как LVDS1 connected 1024x600+0+0
, Имя вашего дисплея (LVDS1 в этом примере) необходимо здесь. Теперь вы готовы установить яркость
xrandr --output LVDS1 --brightness 0.4
Но это устанавливает только программную, а не аппаратную яркость, так что вы можете превысить пределы (в обоих направлениях). Не ожидайте прекрасных результатов, но если вы достаточно смелы, чтобы немного поэкспериментировать, пристегните ремень безопасности и бегите
xrandr --output LVDS1 --brightness 1.7
xrandr --output LVDS1 --brightness -0.4 #yes, negative value is possible
xrandr --output LVDS1 --brightness 1
Вы можете больше мучить свой дисплей с помощью xrandr, но будьте готовы перезагрузить компьютер, если что-то пойдет не так. Например, поиграйте со следующим
xrandr --output LVDS1 --reflect x
xrandr --output LVDS1 --reflect xy
xrandr --output LVDS1 --reflect normal # return to normal state
xrandr --output LVDS1 --rotate left
xrandr --output LVDS1 --rotate inverted
xrandr --output LVDS1 --rotate normal # again, back to normal
Альтернатива голому эхо с XFCE4 Power Manager
На моем DELL Inspiron 11 xbacklight
не работает ("Нет выходов имеют свойство подсветки"). Метод голого эха, описанный user362097, работает.
Если вы используете Xubuntu или какой-либо дистрибутив, использующий XFCE4 Power Manager, вы можете использовать xfpm-power-backlight-helper:
pkexec xfpm-power-backlight-helper --get-max-brightness
# I get 6009
pkexec xfpm-power-backlight-helper --set-brightness 1000
Зачем мучить себя? Разве вы не хотите хороший графический интерфейс?
Этот простой скрипт написан для работы с системой подсветки, упомянутой в ответе @user3620917 как "Bare Echo". Но как только вы выясните, какая команда работает в вашей системе, вы можете адаптировать этот слайдер для работы с ним.
Для этого требуется маленький яд, который потребляет мало оперативной памяти и не оставляет ничего работающего в фоновом режиме при закрытии слайдера. Чтобы понять основную функцию и убедиться, что у вас есть yad, попробуйте это в командной строке:
yad --scale --print-partial
полный скрипт:
#!/bin/sh
BrPath='/sys/class/backlight/intel_backlight/'
BrCur=`cat ${BrPath}brightness`
BrMax=`cat ${BrPath}max_brightness`
BrMin=$(( (BrMax + (100 - 1)) / 100)) # 100th max-brightness, rounded up to nearest integer
yad --scale --min-value $BrMin --max-value $BrMax --value $BrCur --print-partial --title 'Set brightnessradky's Dpup Stretch 7.5 (RC3)' --width 300 --fixed --sticky --mouse --on-top --escape-ok --button OK --hide-value | while read BrNew
do echo "$BrNew" > ${BrPath}brightness
done
Объяснение всех опций: https://www.mankier.com/1/yad
Установить:
Убедитесь, что простая команда echo работает на вашем компьютере. Попробуйте различные значения и посмотрите, не изменится ли ваша яркость.
эхо 10000000 > /sys/ класс / подсветка /intel_backlight/ яркость
Подтвердите, что Яд работает:
yad --scale --print-part
сохранить скрипт в файле с именем set-Brightness
- при необходимости отредактируйте
BrPath=
линия в соответствии с вашим путем подсветки. - поместите скрипт в / usr / local / bin
- Создайте панель запуска на панели или рабочем столе, которая запускает команду set-Brightness. Поскольку он находится в / usr / local / bin, ваша ОС должна его найти - не нужно вводить весь путь.
Причины сбоя:
- Ваш путь подсветки может быть не Intel. Определите, какой путь подсветки является правильным для вашей машины. https://askubuntu.com/questions/437983/how-to-find-backlight-is-managed-by-which-card
- У вас может быть установлен старый Яд, или не установлен вообще. http://archive.ubuntu.com/ubuntu/pool/universe/y/yad/
Если вы не работаете от имени пользователя root, вам может потребоваться предоставить вашему пользователю (или всем пользователям) права на запись в файл яркости.
chmod 666 /sys/ класс / подсветка /intel_backlight/ яркость
В параметре yad 'title' могут быть символы, которые могут не понравиться некоторым версиям yad, например, parens. (у меня работают паренсы, мммм).
Для внешних подключенных мониторов существуют утилиты Linux, которые поддерживают DDC / MCCS, стандарт VESA для управления настройками монитора с ПК. Команды MCCS могут быть отправлены через i2c (модуль ядра i2c-dev) на мониторы DVI, DisplayPort, HDMI или через USB для мониторов, подключенных через USB. Я обнаружил, что утилита командной строки ddcutil является надежным инструментом DDC / MCCS. Если вам нужен небольшой интерфейс для ddcutil в системном трее, я написал vdu_controls (скрипт Qt на Python). Я написал краткое введение в vdu_controls, ddcutil и DDC / MCCS в сообщении на форуме OpenSUSE .
% ddcutil --display 2 getvcp 10
VCP code 0x10 (Brightness): current value = 50, max value = 100
% ddcutil --display 2 setvcp 10 90
Я искал команду для регулировки подсветки ЖК-панели ноутбука под управлением Fedora 30 XFCE.
По какой-то причине xbacklight не работал. Я также полагаю, что даже если бы xbacklight работал в графической среде, например, под X-сервером, он не работал бы на уровне запуска 3 в виртуальной консоли. работает как под XFCE, так и на уровне запуска 3. Установить с помощью
sudo dnf install brightlight
для информации о запуске типа команды:
brightlight -h
Привет, ребята, я расскажу вам самый простой способ управления яркостью экрана.
Здесь диапазон параметров составляет 100-999 в зависимости от ваших требований, отрегулируйте номер в командной строке ниже
echo 200 | sudo tee /sys/class/backlight/intel_backlight/brightness
Надеюсь, это будет вам полезно.
step1: открыть терминал ctrl + alt + t
step2:xrandr | grep "подключен" | вырезать -f1 -d ""
step3:xrandr --output [имя-монитора] --brightness [уровень яркости]
example: xrandr --output LVDS-1 --brightness 0.75
Уровень яркости должен быть установлен от 0,5 до 1 для лучшей видимости.
Вот простая команда для управления яркостью в любой системе на базе Linux
Сначала вы должны знать экран мониторинга, подключенный к вашему компьютеру.
Чтобы узнать это, запустите эту команду
xrandr -q
Это даст полезную информацию об экране
Вот мой экран подключен к eDP
Для вашей системы все может быть иначе
Узнав, что запустите следующую команду
xrandr --output eDP --brightness [0-10]
Замените eDP подключенным экраном из приведенного выше вывода, и вы можете иметь нормальные значения яркости от 0,1 до 1,0.
Если вы хотите изменить его на аппаратном уровне, то это зависит от того, какая у вас видеокарта. У меня Radeon Card + Intel интегрированная карта. Поэтому я изменяю яркость с помощью следующих сценариев для 3 упомянутых вами задач.
- Увеличить яркость
cb=$(cat /sys/class/backlight/intel_backlight/brightness) nb=$(($cb + 50)) echo $nb > /sys/class/backlight/intel_backlight/brightness notify-send -t 1 -a "My Brightness controller" $nb
- Уменьшить яркость
cb=$(cat /sys/class/backlight/intel_backlight/brightness) nb=$(($cb - 50)) echo $nb > /sys/class/backlight/intel_backlight/brightness notify-send -t 1 -a "My Brightness controller" $nb
- Тусклый экран
cb=$(cat /sys/class/backlight/intel_backlight/brightness) if [ $cb -ne 0 ] then nb=0 echo $cb > /home/prem/Documents/sys_files/old_bright else nb=$(cat /home/prem/Documents/sys_files/old_bright) fi echo $nb > /sys/class/backlight/intel_backlight/brightness
В вашем случае вам может потребоваться изменить имя папки от Intel, в зависимости от вашего графического процессора.