Lepszą opcją jest postępowanie zgodnie z radą zawartą w komentarzu (spróbuj sprawdzić, co się nie udało po zamknięciu pokrywki).
Jako obejście lub sieć bezpieczeństwa możesz użyć skryptu działającego w tle, podobnego do tego, który zależy od lm-sensors
instalowanego pakietu :
#! /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
Musisz zmienić temp1
na coś odpowiedniego dla siebie (spójrz na wynik polecenia sensors
w terminalu). W moim przypadku jest to:
(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)
... i chcę to sprawdzić temp1
. Musisz umieścić ciąg znaków, który jest w stanie wybrać tylko linię, którą lubisz, aby rura $(..)
wyprowadzała tylko liczbę temperaturową. Możesz to przetestować ręcznie w terminalu:
(0)asus-romano:/etc% sensors | grep temp1 | awk '{print $2}' | sed 's/\..*$//'
+61
Aby móc wykonać wyłączanie za pomocą sudo bez pytania o hasło, możesz dodać plik do katalogu /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
(dostosuj się do swojego użytkownika, oczywiście --- zwróć uwagę, że zawartość pliku to tylko dwa ostatnie wiersze. Nazwa pliku jest nieistotna, zobacz więcej tutaj ) --- teraz twój użytkownik będzie mógł użyć tych dwóch poleceń ( z sudo
) bez pytania o hasło.