Как изменить яркость дисплея CRT через командную строку Linux?

20

У меня есть рабочий стол Debian Linux и CRT-дисплей. Я хочу изменить яркость экрана, не используя элементы управления яркостью монитора. Как я могу это сделать? Это возможно в командной строке или приложение должно быть установлено?

Нилверт Новал
источник
1
Итак, у вас есть рабочий стол с внешним монитором, и вы хотите управлять подсветкой, верно? Это связано с VGA кабелем? Я не думаю, что есть способ сделать это. Большинство элементов управления подсветкой ЖК-дисплея предназначены для ноутбуков и портативных устройств с прямым доступом (I / O) к контроллеру подсветки. Я не думаю, что есть путь управления через интерфейс VGA для этого.
Кит
Дополнительная информация: я использую ЭЛТ-монитор.
Нилверт Новал
@NeilvertNoval Вместо комментирования с добавлением. информация, добавьте информацию к исходному вопросу. Тот факт, что это монитор ЭЛТ, должен быть указан в самом названии вопроса.

Ответы:

18

Посмотрите /sys/class/backlightна соответствующие файлы для frob.

echo -n 6 > /sys/class/backlight/acpi_video0/brightness
Игнасио Васкес-Абрамс
источник
8
Мой / sys / class / backlight - это пустой каталог.
Нилверт Новал
Работает, но мой путь такой, /sys/class/backlight/acpi_video0/brightnessи мой диапазон увеличивается до 15. (Fedora 17 64bit)
pgampe
@Ignacio Vazquez-Abrams та же проблема, что и у Нилверта Новала
krupal
Это требует root-доступа, что, я думаю, делает его непригодным для использования.
сам
@oneself: Доступ без полномочий root никогда не был частью вопроса.
Игнасио Васкес-Абрамс
16

$ sudo apt-get install xbacklight

Как установить яркость до 50%

$ xbacklight -set 50

Как увеличить яркость на 10%

$ xbacklight -inc 10

Как уменьшить яркость на 10%

$ xbacklight -dec 10

Больше информации здесь

auraham
источник
jcomeau@aspire:~$ xbacklight -set 50выдает сообщение об ошибке: Нет выходов, имеющих свойство подсветки
jcomeau_ictx
это меняет контраст, а не яркость; это не экономит энергию.
Эдуард Тиль
7

Вам нужно контролировать монитор через DDC. Смотрите http://ddccontrol.sourceforge.net/ для одной программы, которая позволяет вам сделать это.

Форрест Войт
источник
Очень хорошо, спасибо за совет! Я написал программу с ним, посмотрите на это на этой странице.
Эдуард Тиль
Проект был перенесен на github: github.com/ddccontrol/ddccontrol
kravemir
6

Если у вас нет аппаратной поддержки для изменения яркости вашего монитора, вы можете использовать команду xrandr вместе с ее параметрами flags --output и --brightness , как можно увидеть в моем ответе на аналогичный вопрос на askubuntu.com.

Эрик Шёлунд
источник
Это на самом деле очень приятно!
Герхард Бургер
3

Вы можете попробовать это решение :

echo -n 100 > /proc/acpi/video/VGA/LCD/brightness

Кроме того, в комментариях есть несколько советов, что делать альтернативно, если это не работает (например, GLX0вместо VGA.

РЕДАКТИРОВАТЬ: Поскольку это, кажется, не помогает, другой пользователь в комментариях предлагает установить xbacklightи звонить xbacklight -set 100.

EDIT2: А другой говорит, что если у вас нет папки с видео, попробуйте sudo modprobe video.

schnaader
источник
Я проверил это перед публикацией, но у меня нет видео папки по этому пути.
Нилверт Новал
modprobe video -> команда не найдена
Нилверт Новал
Я уже установил xbacklight, но когда я это делаю, xbacklight -set 100.он говоритNo outputs have backlight property
Neilvert Noval
Нет папки с видео + sudo modprobe videoничего не делает.
Сантош Кумар
3

После поисков, я думаю, я нашел довольно хороший способ сделать это на большинстве ноутбуков. Первая команда получает имя вашего экрана, что-то вроде LVDS1. Если это не работает, попробуйте получить название вашего экрана с помощью xrandr --current. Возможно, есть более элегантные способы сделать это: команда sed удаляет все после первого пробела, команды head и tail просто удаляют все, кроме второй строки вывода. Вторая строка использует имя экрана, чтобы изменить яркость до 1,0. Это может быть установлено почти на все, включая 0,0 для черного экрана или 50,0 для полностью белого экрана, но я думаю, что 1,0 является желаемым значением здесь.

screenName=$(xrandr --current | sed s/\ .*// | head -n2 | tail -n1);
xrandr --output $screenName --brightness 1.0

Команда ниже устанавливает яркость на максимально допустимую яркость, так как я заметил, что просто установить ее на «100» не просто работает, по крайней мере, не на всех системах.

sudo sh -c 'echo -n $(cat /sys/class/backlight/acpi_video0/max_brightness) > /sys/class/backlight/acpi_video0/brightness'

Это работало на нескольких ноутбуках под управлением Ubuntu 12.04.

Макс Грасбек
источник
Имейте в виду, это будет сделано в программном обеспечении путем изменения значений пикселей. Это на самом деле не будет затемнять дисплей.
Марио
0

Вот небольшая программа, которую я написал для управления яркостью на моем ноутбуке для Ubuntu 12.04.3 LTS. Посмотрите на объяснения внутри (файл / usr / local / dreamcolor2 / README в архиве):

http://pageperso.lif.univ-mrs.fr/~edouard.thiel/tar/brightness-dreamcolor2.tgz

Он использует ddccontrol на шинах i2c и отлично работает для моей конфигурации:

- HP ELiteBook 8770w
- NVidia Quadro K3000M
- HP DreamColor 2 Monitor, full HD
- Ubuntu 12.04.3 LTS x86_64, kernel 3.8.0-34-generic
- Nvidia Driver Version: 319.32
- Unity desktop

Я попробовал все остальные решения на этой странице, и это единственное, что действительно работает для меня. Другое решение состояло в том, чтобы запустить HP Mobile Display Assistant (загруженный на сайте HP), но он дается только как rpm, без пакета deb; его нужно немного подправить, чтобы он работал, он довольно медленный и не работает с клавишами fn.

Мой скрипт позволяет управлять яркостью с помощью командной строки и клавиш Fn. Подскажите пожалуйста, работает ли он у вас из коробки или нужно ли в скрипте сменить устройство i2c.

Эдуард Тиль
источник
0

ЭЛТ (Cathode Ray Tube) не имеют подсветки. ЖК-дисплеи имеют подсветку. Регулировка яркости на ЭЛТ включает изменение сигнала, идущего на него, в отличие от ЖК-дисплея.

ЭЛТ используют максимальное количество энергии на белых экранах, потому что электронные пушки используют больше энергии для излучения большего количества электронов, в то время как ЖК-мониторы расходуют наибольшую мощность на черных экранах, потому что все транзисторы переключают полярность жидких кристаллов, блокируя свет, исходящий от подсветка.

Любая утилита, которая может запускать DPMS, должна работать, чтобы перевести монитор в спящий режим, причем многие ЭЛТ изготовлены в период с середины до конца 90-х до конца производства.

Монтерей Джек
источник
Чтобы уточнить немного, ЭЛТ излучают свет через возбуждение флуоресценции люминофоров из-за удара электронов. Различные химические вещества излучали разные частоты света.
Монтерей Джек,
Существует четыре режима DPMS, в которых могут находиться аналоговые CRT, все они контролируются состоянием линий VSync и HSYNC, ON - это HSYNC и VSYNC, оба включены, STANDBY - это HSYNC выключен, а VSYNC ON использует около 80% мощности, SUSPEND HSYNC - на VSYNC выключен потребляет около 30 Вт для мониторов с номиналом Energy Star и выключается - оба выключены: HSYNC и VSYNC. Раньше это нормально работало с X, начиная с XFree86, но я не знаю, работает ли он до сих пор.
Монтерей Джек
Вы можете запросить состояние DPMS с помощью xset q, который, я думаю, все еще является частью стандартного набора программ для X Windows. Вы также можете установить время для DPMS с помощью xset, а также изменить параметры мыши и клавиатуры.
Монтерей Джек
Для постоянных изменений следует добавить параметр «DPMS» в раздел «Монитор» и в раздел «Макет сервера» в xorg.conf, что-то вроде параметра «BlankTime», «4», параметра «StandbyTime», «0», параметра «SuspendTime», «0 «Опция« OffTime »« 5 »со временем, отредактированным по вашему
усмотрению
Изменение яркости и контрастности на аналоговом мониторе осуществляется с другой стороны RAMDAC, операционными усилителями в RAMDAC или между разъемами RAMDAC и VGA или на стороне монитора с помощью усилителей в мониторе. Контрастность контролируется усилением сигнала, а контрастность контролируется смещением сигнала, поэтому постоянное смещение.
Монтерей Джек,
0

Отредактируйте файл /etc/default/grubи добавьте «pcie_aspm = force acpi_backlight = vendor» в строку

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

После изменений вся строка будет выглядеть так:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force acpi_backlight=vendor"

Для более подробной информации перейдите по ссылке.

http://hackingzones.com/increasedecrease-brightness-in-linux-ubuntu-pear-os-backtrackkali/

Чираг Сингх

Чираг Гц
источник