Лучший вариант - следовать советам в комментарии (попробуйте посмотреть, что не удалось, когда вы закрыли крышку).
В качестве обходного пути или сети безопасности вы можете использовать скрипт, работающий в фоновом режиме, что-то вроде этого, которое зависит от устанавливаемого пакета lm-sensors
:
#! /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
Вы должны изменить temp1
что-то подходящее для вас (посмотрите на вывод команды sensors
в терминале). В моем случае это:
(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)
... и я хочу проверить temp1
. Вы должны поместить строку, которая может выбрать только понравившуюся линию, чтобы труба в $(..)
выводила только номер температуры. Вы можете проверить это вручную в терминале:
(0)asus-romano:/etc% sensors | grep temp1 | awk '{print $2}' | sed 's/\..*$//'
+61
Чтобы выполнить отключение с помощью sudo без запроса пароля, вы можете добавить файл в каталог /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
(Адаптируйтесь с вашим пользователем, очевидно --- обратите внимание, что содержимое файла - это только две последние строки. Название файла не имеет значения, смотрите больше здесь ) --- теперь ваш пользователь будет иметь право использовать эти две команды ( с sudo
) без запроса пароля.