A melhor opção é seguir os conselhos do comentário (tente ver o que falhou quando você fechou a tampa).
Como solução alternativa, ou rede de segurança, você pode usar um script em execução em segundo plano, algo como este, que depende do pacote que lm-sensors
está sendo instalado:
#! /bin/bash
while true; do
t=$(sensors | grep temp1 | awk '{print $2}' | 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 mudar temp1
para algo relevante para você (observe 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 eu quero verificar temp1
. Você precisa colocar uma string que seja capaz de selecionar apenas a linha desejada, para que o tubo $(..)
emita apenas o número de temperatura. Você pode testá-lo manualmente no terminal:
(0)asus-romano:/etc% sensors | grep temp1 | awk '{print $2}' | sed 's/\..*$//'
+61
Para poder executar o poweroff com o sudo sem ser solicitada 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 --- observe que o conteúdo do arquivo é apenas as duas últimas linhas. O nome do arquivo é irrelevante, veja mais aqui ) --- agora seu usuário poderá usar esses dois comandos ( com sudo
) sem ser solicitada uma senha.