A melhor opção é seguir o conselho no comentário (tente ver o que falhou quando você fechou a tampa).
Como solução alternativa ou como rede de segurança, você pode usar um script em execução em plano de fundo, algo como este, que depende do pacote lm-sensors
que está sendo instalado:
#! /bin/bash
while true; do
t=$(sensors | grep temp1 | awk '{print }' | sed 's/\..*$//')
if (( $t > 95 )); then # max temp in whichever units your sensors outputs
echo High temp $t
#sudo /usr/sbin/pm-suspend # uncomment after testing.
fi
sleep 60
done
Você precisa alterar temp1
para algo relevante para você (veja a saída do comando sensors
em um terminal). No meu caso é:
(0)asus-romano:/etc% sensors
acpitz-virtual-0
Adapter: Virtual device
temp1: +61.0°C (crit = +98.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +46.0°C (crit = +100.0°C)
... e quero verificar temp1
. Você tem que colocar uma string que é capaz de selecionar apenas a linha que você gosta, para que o tubo em $(..)
produza apenas o numeral de temperatura. Você pode testá-lo manualmente no terminal:
(0)asus-romano:/etc% sensors | grep temp1 | awk '{print }' | sed 's/\..*$//'
+61
Para poder fazer o poweroff com o sudo sem precisar de uma senha, você pode adicionar um arquivo ao diretório /etc/sudoers.d
:
(1)asus-romano:/etc% sudo cat /etc/sudoers.d/power-off
romano ALL=NOPASSWD: /usr/sbin/pm-suspend
romano ALL=NOPASSWD: /sbin/poweroff
(adapte-se ao seu usuário, obviamente - note que o conteúdo do arquivo é apenas as duas últimas. O nome do arquivo é irrelevante, veja mais aqui ) --- agora seu usuário terá o poder de usar estes dois comandos (com sudo
) sem ter que pedir uma senha.