Como detectar a desconexão / desligamento de HDMI

3

Estou usando o Ubuntu para um HTPC e queria matar um monte de processos como o navegador quando a TV está desligada. Isso ocorre porque tenho largura de banda limitada e desejo evitar a chance de transmitir conteúdo enquanto a TV está desligada, desperdiçando largura de banda.

Minha solução era ter uma tarefa Cron executada a cada minuto verificando o estado off. Mas eu não sei como detectar a desconexão HDMI / TV desligada.

Eu tenho usado essa correção: Áudio HDMI pára após a TV ser desativada para correção de som HDMI quando a TV é desligada. Então eu poderia modificar o código de tal forma que quando o ELD_valid muda de 1 para 0, é hora de matar coisas. Mas eu acredito que esteja monitorando o status do som em HDMI? Também parece uma correção de bug, então meu script funcionaria enquanto o bug estivesse presente?

O xrandr parecia promissor, mas você precisa executá-lo como usuário conectado a um monitor. Então eu não pude testar qual saída ela dá quando a TV está desligada de uma conexão ssh.

Os códigos HDMI CEC parecem outra solução, mas você precisa comprar um adaptador e minha TV não suporta CEC.

Alguma sugestão? Obrigado.

P.S. Estou usando drivers de catalisador ATI. Eu ficaria feliz com a solução específica da ATI.

    
por Budric 16.08.2012 / 21:11

1 resposta

1

% bl0ck_qu0te%

Isto, estritamente falando, não é verdade. Ele deve ser capaz de se conectar ao servidor X, mas tudo o que requer é 1) o número de exibição, e 2) permissão para falar com o servidor X através do magic cookie ou via xauth .

A maneira mais fácil de obter o cookie é rodar como o usuário que está atualmente logado no monitor. Dar o número de exibição é tão fácil quanto passar $DISPLAY para o programa.

sudo -u displayuser env DISPLAY=:0.0 xrandr | grep -q '^xxxx disconnected'
    
por Ignacio Vazquez-Abrams 17.08.2012 / 17:41

Tags