Executar um script quando o botão liga / desliga é pressionado

7

Estou tentando executar um script depois que pressiono o botão liga / desliga, em vez de desligar a máquina. Estou executando o Ubuntu Server 13.04, mas qualquer resposta também precisa funcionar no Servidor 14.04.

Eu olhei para os eventos da ACPI e tentei editar os arquivos /etc/acpi/powerbtn.sh e /etc/acpi/events/powerbtn , mas não tive sorte em nenhum lugar.

Então, depois de ler esta página link , eu corri sudo journalctl -f como instruído, mas isso não aconteceu t trabalho. Então, eu tentei sudo acpi_listen e entrei no ouvinte de evento da ACPI. No entanto, mesmo de lá, apertar o botão de energia não me deu nenhuma saída.

Existe outro serviço no local que detecta os eventos do botão liga / desliga antes da ACPI? Quais arquivos eu precisaria editar para executar meu script quando o botão liga / desliga é pressionado?

Eu também tentei sudo xev e isso não me deu nenhuma saída no botão liga / desliga.

EDIT: Eu também tenho um sistema Ubuntu Desktop e nesse sistema eu posso obter a saída da ACPI e eu posso editar os scripts /etc/acpi . Existe algo instalado com o Unity que milagrosamente habilita a ACPI?

EDITAR DE NOVO: Acabou fazendo uma nova instalação ... ACPI funcionou. Acho que estraguei alguma coisa quando estava experimentando e tentei primeiro encontrar uma solução para esse problema. O que fiz foi colocar meu script python em /etc/acpi/ e, em seguida, adicionei as duas linhas a seguir ao início de /etc/acpi/powerbtn.sh

sudo python my_python_script.py
exit 0

E funcionou. Obrigado rapazes.

    
por zaxvo 29.05.2014 / 00:56

2 respostas

1

Que tal colocar seu script no nível de execução 6, conforme mencionado e detalhado aqui:

Como executar um comando antes da máquina automaticamente desligamentos?

    
por Keith Pawson 21.06.2014 / 03:51
1

Coloque seu script python em / etc / acpi / e adicione as duas linhas seguintes ao topo do /etc/acpi/powerbtn.sh

sudo python your_python_script.py
exit 0
    
por Meetai.com 26.02.2016 / 21:09