Que código é executado quando os fones de ouvido são desconectados?

7

Eu quero executar um script na desconexão de fones de ouvido, mas me ressinto da idéia de sondagem constante do status quando há já algum código foi executado quando foi alterado.

    
por int_ua 25.06.2015 / 09:23

2 respostas

7

Na maioria dos sistemas, se não todos, a ACPI pode manipular esse evento. Para testar isso:

  1. Executar acpi_listen
  2. Desconecte e amp; fones de ouvido de replicação, exemplo de saída: (mic / ears compartilham no mesmo jack do meu laptop)

    jack/headphone HEADPHONE unplug
    jack/microphone MICROPHONE unplug
    jack/headphone HEADPHONE plug
    jack/microphone MICROPHONE plug
    
  3. Coloque your-script.sh em /etc/acpi/

  4. Adicione um arquivo acionador de eventos para o seu script em /etc/acpi/events/

    event=jack/headphone HEADPHONE unplug
    action=/etc/acpi/your-script.sh
    

    Verifique os outros arquivos para aprender.

  5. Pode ser necessário reiniciar acpid service para recarregar as regras alteradas em /etc/acpi/events/

    sudo service acpid restart
    

Referência: man acpid

    
por user.dz 29.06.2015 / 18:42
1

A versão atual do seu script agora contém um comando sleep 0.25 .

sleep é baseado em temporizador, por isso não utiliza nenhum ciclos de processamento enquanto dorme…

Ele usa um pouquinho de CPU para configurar o timer, mas sleep 1 (sleep 1 second), sleep 60 (sleep por um minuto) e sleep 86400 (sleep por um dia) todos usam mesmo número de ciclos de CPU.

Utilizando o ACPI , porém, é a solução perfeita porque a ACPI é orientada a eventos em vez de pesquisa dirigido.

    
por Fabby 30.06.2015 / 09:45