ตัวเลือกที่ดีกว่าคือทำตามคำแนะนำในความคิดเห็น (ลองดูสิ่งที่ล้มเหลวเมื่อคุณปิดฝา)
ในฐานะที่เป็นวิธีแก้ปัญหาหรือเครือข่ายความปลอดภัยคุณสามารถใช้สคริปต์ที่ทำงานในพื้นหลังบางอย่างเช่นนี้ซึ่งขึ้นอยู่กับแพ็คเกจที่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
เพื่อให้สามารถทำ poweroff ด้วย 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
) โดยไม่ถูกถามรหัสผ่าน