Daha iyi seçenek yorumdaki önerileri takip etmektir (kapağı kapattığınızda neyin başarısız olduğunu görmeye çalışın).
Geçici bir çözüm veya güvenlik ağı olarak, arka planda çalışan bir betik kullanabilirsiniz, bunun gibi bir şey, lm-sensors
yüklü olan pakete bağlıdır :
#! /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
Sizin için temp1
alakalı bir şeye değiştirmeniz gerekir ( sensors
bir terminaldeki komutun çıktısına bakın ). Benim durumumda:
(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)
... ve kontrol etmek istiyorum temp1
. Yalnızca istediğiniz satırı seçebilen bir dize koymanız gerekir, böylece içindeki boru $(..)
sadece sıcaklık rakamını çıkarır. Terminalde elle test edebilirsiniz:
(0)asus-romano:/etc% sensors | grep temp1 | awk '{print $2}' | sed 's/\..*$//'
+61
Parola sorulmadan sudo ile poweroff yapabilmek için dizine bir dosya ekleyebilirsiniz /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
(kullanıcıyla uyum sağlayın, açıkçası --- dosya içeriğinin sadece son iki satır olduğunu unutmayın. Dosyanın adı önemsizdir, daha fazla bilgi için buraya bakın ) --- şimdi kullanıcınızın bu iki komutu kullanma gücü olacak ( ile sudo
) şifre sorulmadan.