32

Мне было интересно, можно ли включить / выключить дисплей с помощью компьютера, подключенного через HDMI. Позволь мне объяснить :

Я хочу, чтобы мой компьютер выключал мониторы (не в режиме ожидания), когда я не использую его (без ввода с клавиатуры / мыши) в течение более 15 минут, и снова включаю их при получении такого ввода. Мои мониторы подключены через HDMI, поэтому мне было интересно, можно ли использовать функциональность CEC с компьютером. Если это возможно, то есть ли требования к оборудованию?

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

большое спасибо

10 ответов10

53

Я хочу, чтобы мой компьютер выключал мониторы (не в режиме ожидания), когда я не использую его (без ввода с клавиатуры / мыши) в течение более 15 минут, и снова включаю их при получении такого ввода.

То, что вы хотите, это именно то, чего вы пытаетесь избежать.

Если монитор на самом деле полностью выключен, он не может снова включиться от сигнала на видеокабеле. Чтобы он мог включаться таким образом, на мониторе должна быть какая-то цепь, которая остается включенной и активной, чтобы отслеживать сигнал. Мониторы уже имеют такую схему, но их отключение также отключает эту схему.

Чтобы использовать эту схему, вам нужно оставить некоторое количество электричества на мониторе, и это именно то, что делает дежурный режим: он выключает дисплей (и динамики, и все остальное), оставляя активным эту маленькую цепь.

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

Я должен платить за электричество, поэтому мы всегда избегаем использования электричества настолько, насколько это возможно с человеческой точки зрения, но я оставляю его в режиме ожидания, когда использую компьютер, и мне нужно отойти на некоторое время (я выключаю оба, когда закончу на день).

Вместо того чтобы оставить монитор включенным на 15 минут даром, лучше всего делать то, что я делаю, и просто привыкнуть выключать монитор всякий раз, когда вы встаете, чтобы отойти, или вручную переводить его в режим ожидания. , Что я делаю, так это использую скрипт AutoHotkey, приведенный ниже (его можно скомпилировать в исполняемый файл, работающий в фоновом режиме, если это необходимо), чтобы позволить мне нажимать ⊞ Win+M, чтобы отключить монитор, когда я встаю. Другие варианты включают использование ярлыка или программы, использование сценария или программы, чтобы сделать это с помощью горячего угла курсора мыши, или даже просто сокращение времени ожидания с 15 минут до пяти или около того.


;Monitor Standby Hotkey
;⊞ Win + M puts monitor in standby
#m::
  Sleep 1000 ; Pause for 1sec to prevent un-sleeping when key released

  SendMessage, 0x112, 0xF170, 2,, Program Manager
  ; 0x112 is WM_SYSCOMMAND, 0xF170 is SC_MONITORPOWER
  ; Use  1 in place of 2 to activate the monitor's low-power mode
  ; Use -1 in place of 2 to turn the monitor on
return
11

Спецификация HDMI-CEC, которая позволяет подключенным к HDMI устройствам выступать в качестве ограниченного пульта дистанционного управления для любого другого подключенного устройства с поддержкой CEC, определяет команду System Standby которая позволит "удаленному" переключать цель в режим ожидания.

Это самое близкое к тому, что я имею в виду. Требуется, чтобы целевое устройство HDMI (ваш монитор) было подключено к CEC (что является обязательным в соответствии со спецификацией, так оно и есть), и чтобы устройство реализовывало CEC в целом и эту команду конкретно (что является полностью необязательным и не очень распространенным - еще). Весьма маловероятно, что ваш монитор реализует CEC, но может быть возможно подтвердить это из руководства или опубликованной спецификации, или, возможно, проще просто протестировать, подключив устройство через HDMI, который отправляет команды CEC, и проверьте, отвечает ли ваш монитор.

9

Да, но ты не должен. Я думаю, что Synetech суммирует это хорошо, но если вы должны:

Как именно это зависит от экрана, но если у него есть ИК-приемник, вы можете подключить ИК-бластер к ПК, чтобы отключить сигнал (хотя, как указала Synetech, если ИК-датчик работает, питание все равно используется).

В качестве альтернативы вы можете использовать Arduino или подобное устройство, чтобы фактически отключить питание вашего монитора. Это потребует некоторой работы, а также навыков самоделки, но это, безусловно, возможно.

7

Короче говоря, нет, вы не можете. Не на рабочем столе. Мощность монитора не зависит от какой-либо связи с процессором.

Это была бы хорошая особенность, я признаю.

4

Мой UPS делает это для меня. Если компьютер переходит в спящий режим, монитор теряет питание. Однако мне не ясно, хотите ли вы, чтобы ваш компьютер тоже спал.

2

Позвольте мне обратиться к этому вопросу в контексте Linux. Я являюсь автором ddcutil утилиты командной строки Linux для управления настройками монитора.

Ответ .. это зависит.

Любой недавний монитор реализует некоторое подмножество набора команд управления монитором (MCCS), которое определяет набор функций виртуальной панели управления (VCP). Характеристики. Этот набор команд почти всегда передается по шине I2C с использованием протокола DDC/CI. Функция VCP xd6 (Power Mode) определяет аргумент x05 для отключения дисплея. Так что, если ваш монитор реализует функцию xd6, и если он принимает x05 в качестве аргумента, вы можете отключить отображение. В большинстве случаев это будет возможно.

Включение снова - другое дело. После выключения мой HP2475 может быть снова включен с помощью одного из других аргументов x60, но мой Dell U3011 полностью не отвечает.

Предполагая, что у вас есть только один дисплей, следующие команды ddcutil относятся к включению или выключению дисплея:

# Show the monitor's declared capabilities.
# But be warned, his is often out of sync with the actual capabilities
ddcutil capabilities

# Show documentation for VCP feature xd6.  
# This is no guarantee that feature xd6 is implemented for a
# particular monitor, or that each of the arguments is implemented:
ddcutil vcpinfo d6 --verbose

# Turn of the monitor (assuming everything is implemented)
ddcutil setvcp d6 5

# This typically would turn the monitor back on, but that assumes that
# the monitor is responsive and that argument 1 (DPN On, DPMS Off) is
# implemented
ddcutil setvcp d6 1
2

На самом деле это технически возможно, но я не видел практического осуществления его , к сожалению. Раньше был (последний раз я проверял, что он не поддерживается и был удален из Debian) пакет Linux, я думаю, он назывался ddccontrol который позволял вам вручную использовать управляющие сигналы ddc, которые представляют собой стандартный набор сообщений по шине i2c иду к монитору. Одна из команд, которая у него есть, - отключить монитор. И да, вы можете даже дать команду включить его снова. Когда монитор выключен, микросхема получает питание от ПК, чтобы он мог реагировать на команды постоянного тока, главным образом, чтобы ПК мог определить, какой тип монитора подключен.

1

Проверьте утилиту Стива Гибсона Wizmo , у нее есть команда "monoff", которая может работать для вас.

0

Вот мое простое решение, которое я много лет успешно использую на своих компьютерах:

Несмотря на то, что он использует режим ожидания, режим ожидания снижает энергопотребление компьютера до (измеренного!) ничья под 4 Вт. И одно касание мыши или клавиши быстро возвращает его к полной функции, где вы остановились.

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

В моем случае монитор не теряет свои настройки, как и другие устройства, когда их питание отключается таким образом.

0

Хотя я согласен с предыдущими ответами, касающимися только использования режима ожидания, я бы добавил следующее в качестве возможного решения.

Вы можете использовать Arduino, подключенный к USB-порту и Powerswitch Tail, чтобы отключить мониторы от источника питания.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .