Как обнаружить отключение HDMI / ТВ выключен

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

Моим решением было запускать задачу cron каждую минуту, проверяя состояние выключения. Но я не знаю, как обнаружить отключение HDMI / выключение телевизора.

Я использовал это исправление: Звук HDMI останавливается после выключения телевизора для исправления звука HDMI, когда телевизор выключается. Так что я мог бы изменить код так, чтобы когда ELD_valid переключался с 1 на 0, пришло время убивать вещи. Но я верю, что он контролирует состояние звука через HDMI? Кроме того, это похоже на исправление ошибки, поэтому мой сценарий будет работать до тех пор, пока имеется ошибка?

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

Коды HDMI CEC казались другим решением, но вы должны купить адаптер, а мой телевизор не поддерживает CEC.

Есть предложения? Спасибо.

P.S. Я использую катализаторы ATI. Я был бы счастлив с конкретным решением ATI.

3
задан 13 April 2017 в 15:24

1 ответ

xrandr выглядел многообещающим, но необходимо выполнить его как пользователь, подключенный к дисплею.

Это, строго говоря, не верно. Это должно смочь соединиться с X-сервером, но все, что требует, 1) число дисплея и 2) разрешение говорить с X-сервером через волшебный cookie или через xauth.

самый легкий способ получить cookie состоит в том, чтобы работать как пользователь, который в настоящее время зарегистрирован дисплей. Предоставление числа дисплея так же легко как передача $DISPLAY к программе.

sudo -u displayuser env DISPLAY=:0.0 xrandr | grep -q '^xxxx disconnected'
1
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: