วิธีทำให้พีซี Linux ของคุณตื่นจากโหมดสลีปโดยอัตโนมัติ
ต้องการให้ Linux PC ของคุณเข้าสู่โหมดสลีปหรือโหมดไฮเบอร์เนตและตั้งเวลาปลุกตามเวลาที่กำหนดหรือไม่ คุณสามารถทำได้อย่างง่ายดายด้วยคำสั่ง rtcwake ซึ่งรวมอยู่ในระบบ Linux ส่วนใหญ่.
สิ่งนี้มีประโยชน์หากคุณต้องการให้คอมพิวเตอร์ทำอะไรบางอย่างในเวลาที่กำหนด แต่ไม่ต้องการให้มันทำงานตลอดเวลา 24/7 ตัวอย่างเช่นคุณสามารถทำให้คอมพิวเตอร์ของคุณเข้าสู่โหมดสลีในเวลากลางคืนและทำให้คอมพิวเตอร์ตื่นขึ้นก่อนที่จะทำการดาวน์โหลด.
ใช้ rtcwake
rtcwake คำสั่งต้องการสิทธิ์รูทดังนั้นจึงต้องรันด้วย sudo บน Ubuntu และการแจกจ่ายอื่น ๆ ที่ได้รับจาก Ubuntu ในลีนุกซ์ลีนุกซ์ที่ไม่ใช้ sudo, คุณจะต้องเข้าสู่ระบบด้วยรูทด้วย su คำสั่งก่อน.
นี่คือไวยากรณ์พื้นฐานของคำสั่ง:
sudo rtcwake -m [ประเภทของการระงับ] -s [จำนวนวินาที]
ตัวอย่างเช่นคำสั่งต่อไปนี้จะระงับระบบของคุณไปยังดิสก์ (จำศีลมัน) และปลุกมันขึ้น 60 วินาทีในภายหลัง:
sudo rtcwake -m disk -s 60
ประเภทของการระงับ
-ม. switch ยอมรับประเภทของการระงับต่อไปนี้:
- รอ - สแตนด์บายให้การประหยัดพลังงานเพียงเล็กน้อย แต่การเรียกคืนระบบที่รันอยู่นั้นรวดเร็วมาก นี่เป็นโหมดเริ่มต้นหากคุณไม่ใช้สวิตช์ -m.
- ข่าว - พักแรม สิ่งนี้ให้การประหยัดพลังงานอย่างมีนัยสำคัญ - ทุกอย่างถูกกำหนดให้อยู่ในสถานะพลังงานต่ำยกเว้น RAM ของคุณ เนื้อหาของหน่วยความจำของคุณจะถูกเก็บรักษาไว้.
- ดิสก์ - หยุดการทำงานของดิสก์ เนื้อหาของหน่วยความจำของคุณถูกเขียนไปยังดิสก์และคอมพิวเตอร์ของคุณปิดอยู่ คอมพิวเตอร์จะเปิดและสถานะของมันจะถูกกู้คืนเมื่อตัวจับเวลาเสร็จสิ้น.
- ปิด - ปิดคอมพิวเตอร์อย่างสมบูรณ์ man page ของ rtcwake บันทึกว่าการกู้คืนจาก "ปิด" ไม่ได้รับการสนับสนุนอย่างเป็นทางการตามข้อกำหนด ACPI แต่สามารถใช้ได้กับคอมพิวเตอร์หลายเครื่องต่อไป.
- ไม่ - อย่าหยุดคอมพิวเตอร์ทันทีเพียงแค่ตั้งเวลาปลุก ตัวอย่างเช่นคุณสามารถบอกให้คอมพิวเตอร์ของคุณตื่นตอน 6 โมงเช้า หลังจากนั้นคุณสามารถนอนหลับด้วยตนเองเวลา 23.00 น. หรือ 01.00 น. - ไม่ว่าจะด้วยวิธีใดก็จะตื่นตอนหกโมงเช้า.
วินาทีเทียบกับเวลาเฉพาะ
-s ตัวเลือกใช้เวลาหลายวินาทีในอนาคต ตัวอย่างเช่น -s 60 ทำให้คอมพิวเตอร์ของคุณทำงานใน 60 วินาทีในขณะที่ -s 3600 ทำให้คอมพิวเตอร์ของคุณทำงานในอีกหนึ่งชั่วโมง.
-เสื้อ ตัวเลือกช่วยให้คุณปลุกคอมพิวเตอร์ของคุณในเวลาที่กำหนด สวิตช์นี้ต้องการจำนวนวินาทีตั้งแต่ Unix epoch (00:00:00 UTC วันที่ 1 มกราคม 1970) หากต้องการระบุจำนวนวินาทีที่ถูกต้องอย่างง่ายดายให้รวม วันที่ คำสั่งด้วยคำสั่ง rtcwake.
-ล. switch บอก rtcwake ว่านาฬิกาของฮาร์ดแวร์ถูกตั้งค่าเป็นเวลาท้องถิ่นในขณะที่ -ยู switch บอก rtcwake ว่านาฬิกาฮาร์ดแวร์ (ใน BIOS ของคอมพิวเตอร์ของคุณ) ถูกตั้งค่าเป็นเวลา UTC ลีนุกซ์ลีนุกซ์มักจะตั้งนาฬิกาฮาร์ดแวร์ของคุณเป็นเวลา UTC และแปลเป็นเวลาท้องถิ่นของคุณ.
ตัวอย่างเช่นหากต้องการให้คอมพิวเตอร์ของคุณตื่นนอนเวลา 6.30 น. ในวันพรุ่งนี้ แต่ไม่ต้องระงับทันที (สมมติว่านาฬิกาฮาร์ดแวร์ของคุณถูกตั้งค่าเป็นเวลาท้องถิ่น) ให้เรียกใช้คำสั่งต่อไปนี้:
sudo rtcwake -m no -l -t $ (วันที่ +% s -d 'พรุ่งนี้ 06:30')
เคล็ดลับเพิ่มเติม
ใช้ตัวดำเนินการ && เพื่อเรียกใช้คำสั่งเฉพาะหลังจากที่ rtcwake ปลุกระบบของคุณจากโหมดสลีป ตัวอย่างเช่นคำสั่งต่อไปนี้จะระงับคอมพิวเตอร์ของคุณเป็น RAM ปลุกสองนาทีต่อมาจากนั้นเปิดตัว Firefox:
rtcwake -m mem -s 120 && firefox
รวมคำสั่ง rtcwake เข้ากับสคริปต์ cron เพื่อปลุกคอมพิวเตอร์ของคุณในเวลาที่กำหนดโดยอัตโนมัติ -ม สวิทช์ยังสามารถเป็นประโยชน์ในสคริปต์ cron ตัวอย่างเช่นคุณสามารถเรียกใช้ rtcwake -m no -s 28800 คำสั่งในสคริปต์ cron เวลา 22.00 น. ทุกวัน การทำเช่นนี้จะทำให้คอมพิวเตอร์ของคุณตื่นขึ้นใน 28800 วินาทีเวลา 6:00 น อย่างไรก็ตามคอมพิวเตอร์ของคุณจะไม่เข้าสู่โหมดสลีทันที - คุณสามารถสั่งให้เข้านอนเวลา 23.00 น. หรือ 01.00 น. และมันจะยังคงปลุกตอน 6 โมงเช้าตามปกติ.
คำเตือน
- RTC ย่อมาจากนาฬิกาแบบเรียลไทม์ rtcwake ใช้นาฬิกาฮาร์ดแวร์ของคอมพิวเตอร์ซึ่งคุณสามารถตั้งค่าใน BIOS ของคุณเพื่อกำหนดว่าคอมพิวเตอร์ของคุณจะตื่นขึ้นเมื่อใด หากคุณกำลังใช้คอมพิวเตอร์เครื่องเก่าที่มีแบตเตอรี่ CMOS กำลังจะตายซึ่งไม่สามารถทำงานต่อเนื่องได้นาฬิกาจะไม่ทำงาน.
- ถ้า sleep, suspend RAM หรือ hibernate ทำงานไม่ถูกต้องกับระบบ Linux ของคุณ - อาจเป็นเพราะ Linux ไม่มีไดรเวอร์ที่จะทำให้มันทำงานอย่างถูกต้องกับฮาร์ดแวร์ของคุณ - สิ่งนี้อาจไม่ทำงาน.
- ระวังเมื่อตั้งค่าแล็ปท็อปให้ปลุกอัตโนมัติตามเวลาที่กำหนด คุณไม่ต้องการให้มันตื่นขึ้นทำงานและร้อนจัดหรือทำให้แบตเตอรี่หมดในกระเป๋าแล็ปท็อป.