Shutdown através do botão de power

1. Shutdown através do botão de power

Eumesmo e Tal
eumesmoetal

(usa Debian)

Enviado em 24/08/2015 - 16:07h

Boa tarde!

Eu aproveitei dois computadores antigos para fazer servidores de arquivo doméstico. Utilizo o Debian 8 'Jessie', sem ambiente gráfico para ser rápido.

Enfim, eu desligo eles via PuTTY (e até outro aplicativo similar que faz o mesmo no celular), mas ainda assim é trabalhoso e somente eu posso fazer isso por conhecer os comandos... A situação aqui seria resolvida se eu conseguir desligá-los (shutdown) simplesmente ao apertar o botão de power.

Alguém sabe fazê-lo ou teria uma luz?

Desde já, muito obrigado.


  


2. Re: Shutdown através do botão de power

Patrick Costa da Silva
patrickpcs

(usa Nenhuma)

Enviado em 24/08/2015 - 16:15h

Cara, só apertar o botão que ele envia o sinal de desligamento acpi para o sistema.
A não ser que seja fonte AT...mas como você falou que consegue desligar completamente por comandos.
Nunca vi isso. Será que tá tudo certo com o acpi?
_____________________________________________________
The quiter you become, the more you are able to hear.
-----------------------------------------------------



3. Re: Shutdown através do botão de power

Eumesmo e Tal
eumesmoetal

(usa Debian)

Enviado em 24/08/2015 - 16:24h


Então, se eu aperto o botão power, eles desligam sim, mas de maneira abrupta. Pelo o que eu li, o shutdown encerra todas as conexões e encerra o sistema pra não dar pau. Acho que é algo parecido com tirar um pendrive sem mandá-lo desconectar. Como é um servidor, é muito importante fazer esse desligamento da maneira correta, por isso, queria usar o shutdown.

Na minha pesquisa, achei essas instruções, mas não to conseguindo:


http://askubuntu.com/questions/86376/how-to-specify-power-button-to-do-a-shutdown-h-now-instead-of-g...
That's simple enough. When you press the power button a ACPI event triggers the script at /etc/acpi/powerbtn.sh.
You can edit that to just run shutdown -h now as the first thing so it looks like:
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.

/sbin/shutdown -h now "Power button pressed"
exit 0

# leave the old code below (in case you want to revert!)


---

http://unix.stackexchange.com/questions/97565/configure-power-button-to-shutdown-on-debian
/etc/acpi/events/powerbtn-acpi-support leads to /etc/acpi/powerbtn-acpi-support.sh, which in turns calls for /etc/acpi/powerbtn.sh. I've not tested, but you may try to create this file and fill it with something like
#!/bin/bash

/sbin/shutdown -h now "Power button pressed"

Note that in principle it won't exit your session cleanly, though, so depending on the desktop environment / window manager you use you may want to improve it to handle things more cleanly (e.g. adding gnome-session-save --kill before if you use gnome).
The best way to go would probably be to google search for other users /etc/acpi/powerbtn.sh scripts.


---





4. Re: Shutdown através do botão de power

Patrick Costa da Silva
patrickpcs

(usa Nenhuma)

Enviado em 24/08/2015 - 16:51h

Muito interessante, vou pesquisar mais a respeito também. Mas entrei ali no /etc/acpi no debian e é um pouco diferente do ubuntu o script, mas a ideia é a mesma. Da pra reconfigurar o script e programar oque você bem quiser ao pressionar o botão :).
_____________________________________________________
The quiter you become, the more you are able to hear.
-----------------------------------------------------



5. Re: Shutdown através do botão de power

Eumesmo e Tal
eumesmoetal

(usa Debian)

Enviado em 24/08/2015 - 17:54h

Legal! Bom que deve estar na minha cara isso!

Será que você tem alguma idéia. No arquivo /etc/acpi/powerbtn-acpi-support.sh, eu tentei mexer lá no final, quase na última linha (/sbin/shutdown "Power button pressed"). A comentada é a original.


#!/bin/sh

# This script initiates a shutdown when the power putton has been
# pressed. Loosely based on the sample that ships with the acpid package.
# If the acpid sample is present as a real config file (as it was in earlier
# versions of acpid), we skip this script. (Purging and reinstalling acpid
# resolves this situation, or simply deleting /etc/acpi/events/powerbtn.)

if [ -f /etc/acpi/events/powerbtn -o -f /etc/acpi/events/powerbtn.dpkg-bak ] ; then
logger Acpi-support not handling power button, acpid handler exists at /etc/acpi/events/powerbtn or /etc/acpi/events/powerbtn.dpkg-bak.
exit 0
fi

[ -e /usr/share/acpi-support/policy-funcs ] || exit 0

. /usr/share/acpi-support/policy-funcs

if { CheckPolicy || HasLogindAndSystemd1Manager; }; then
exit 0
fi

if [ -x /etc/acpi/powerbtn.sh ] ; then
# Compatibility with old config script from acpid package
/etc/acpi/powerbtn.sh
elif [ -x /etc/acpi/powerbtn.sh.dpkg-bak ] ; then
# Compatibility with old config script from acpid package
# which is still around because it was changed by the admin
/etc/acpi/powerbtn.sh.dpkg-bak
else
# Normal handling.
# /sbin/shutdown -h -P now "Power button pressed"
/sbin/shutdown "Power button pressed"
fi







6. Re: Shutdown através do botão de power

Patrick Costa da Silva
patrickpcs

(usa Nenhuma)

Enviado em 24/08/2015 - 17:57h

Vou dar umas googladas mais tarde, to trabalhando no momento e longe do meu laptop para testes.
_____________________________________________________
The quiter you become, the more you are able to hear.
-----------------------------------------------------



7. Re: Shutdown através do botão de power

Eumesmo e Tal
eumesmoetal

(usa Debian)

Enviado em 26/08/2015 - 13:00h


Sem problemas! :)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts