ฉันต้องการให้พีซีของฉันนอนตอนสี่โมงครึ่งและตื่นตอน 05:15 ทุกวัน
ฉันจะทำอย่างไร
ฉันต้องการให้พีซีของฉันนอนตอนสี่โมงครึ่งและตื่นตอน 05:15 ทุกวัน
ฉันจะทำอย่างไร
คำตอบ:
คุณสามารถทำ (อย่างน้อยครึ่งหนึ่งของ) นี้กับGnome กำหนดการ ( sudo apt-get install gnome-schedule
) (NB: ทำให้ตัวเรียกใช้ของคุณเป็นงานตามกำหนดการแต่การพิมพ์gnome-scheduleยังนำมาใช้)
หลังจากเปิดตัว "ใหม่" -> "ภารกิจที่เกิดซ้ำ" กรอกแบบฟอร์มตามที่เห็นสมควร
คำสั่งให้จำศีลคือ/usr/sbin/pm-hibernate
(Suspend is /usr/sbin/pm-suspend
)
เกี่ยวกับการตื่นขึ้นอีกครั้งโปรดดูที่"ฉันจะกำหนดเวลาตื่นจากการจำศีลได้อย่างไร"
อีกวิธีหนึ่งคุณสามารถติดตั้ง "อินเตอร์เฟซการจัดการพลังงาน" ( sudo apt-get install powermanagement-interface
)
จากนั้นสร้างสคริปต์เช่นนี้:
#!/bin/bash
# This script puts the system under standby mode for x hours
usage() {
echo "usage: $0 <n-hours>"
echo "where <n-hours> is the number of hours to be on standby"
exit 0
}
if [ $# -ne 1 ]
then
usage
fi
PATH=$PATH:/usr/sbin
hours=$1
echo 0 > /sys/class/rtc/rtc0/wakealarm
echo `date '+%s' -d "+ $hours hours"` > /sys/class/rtc/rtc0/wakealarm
## Edit the above line to get the exact length of hibernation you want
pmi action suspend
และกำหนดเวลาไว้ใน crontab ของรูท
ต้องการให้ Linux PC ของคุณเข้าสู่โหมดสลีปหรือโหมดไฮเบอร์เนตและตั้งเวลาปลุกตามเวลาที่กำหนดหรือไม่ คุณสามารถทำสิ่งนี้ได้อย่างง่ายดายด้วยคำสั่ง rtcwake ซึ่งรวมอยู่ในระบบ Linux ส่วนใหญ่
สิ่งนี้มีประโยชน์ถ้าคุณต้องการให้คอมพิวเตอร์ทำอะไรบางอย่างในเวลาที่กำหนด แต่ไม่ต้องการให้มันทำงานตลอดเวลา 24/7 ตัวอย่างเช่นคุณสามารถทำให้คอมพิวเตอร์ของคุณเข้าสู่โหมดสลีในเวลากลางคืนและทำให้คอมพิวเตอร์ตื่นขึ้นก่อนที่จะทำการดาวน์โหลด
คำสั่ง rtcwake ต้องการการอนุญาตรูทดังนั้นจึงต้องรันด้วย sudo บน Ubuntu และการแจกแจงอื่น ๆ ที่ได้รับจาก Ubuntu บน Linux ดิสทริบิวชันที่ไม่ใช้ sudo คุณจะต้องเข้าสู่ระบบด้วยรูทด้วยคำสั่ง su ก่อน
นี่คือไวยากรณ์พื้นฐานของคำสั่ง:
sudo rtcwake -m [type of suspend] -s [number of seconds]
ตัวอย่างเช่นคำสั่งต่อไปนี้จะระงับระบบของคุณไปที่ดิสก์ (จำศีลมัน) และปลุกมันขึ้น 60 วินาทีในภายหลัง:
sudo rtcwake -m disk -s 60
-mสวิทช์ยอมรับประเภทต่อไปนี้ระงับ:
สแตนด์บาย - สแตนด์บายให้การประหยัดพลังงานเพียงเล็กน้อย แต่การเรียกคืนไปยังระบบที่รันอยู่นั้นรวดเร็วมาก นี่เป็นโหมดเริ่มต้นหากคุณไม่ใช้สวิตช์ -m
mem - ระงับ RAM สิ่งนี้ให้การประหยัดพลังงานอย่างมีนัยสำคัญ - ทุกอย่างถูกกำหนดให้อยู่ในสถานะพลังงานต่ำยกเว้น RAM ของคุณ เนื้อหาของหน่วยความจำของคุณจะถูกเก็บรักษาไว้
disk - พักไว้ที่ดิสก์ เนื้อหาของหน่วยความจำของคุณถูกเขียนไปยังดิสก์และคอมพิวเตอร์ของคุณปิดอยู่ คอมพิวเตอร์จะเปิดและสถานะของมันจะถูกกู้คืนเมื่อตัวจับเวลาเสร็จสิ้น
ปิด - ปิดคอมพิวเตอร์อย่างสมบูรณ์ man page ของ rtcwake บันทึกว่าการกู้คืนจาก "ปิด" ไม่ได้รับการสนับสนุนอย่างเป็นทางการตามข้อกำหนด ACPI แต่สามารถใช้ได้กับคอมพิวเตอร์หลายเครื่องต่อไป
ไม่ - อย่าหยุดคอมพิวเตอร์ทันทีเพียงแค่ตั้งเวลาปลุก ตัวอย่างเช่นคุณสามารถบอกให้คอมพิวเตอร์ของคุณตื่นนอนตอน 6 โมงเช้า หลังจากนั้นคุณสามารถนอนหลับด้วยตนเองเวลา 23.00 น. หรือ 01.00 น. - ไม่ว่าจะด้วยวิธีใดก็จะตื่นตอน 6 โมงเช้า
-sตัวเลือกที่จะใช้เวลาจำนวนวินาทีในอนาคต ตัวอย่างเช่น -s 60 ทำให้คอมพิวเตอร์ของคุณทำงานใน 60 วินาทีในขณะที่ -s 3600 ทำให้คอมพิวเตอร์ของคุณทำงานในอีกหนึ่งชั่วโมง
-tตัวเลือกที่ช่วยให้คุณสามารถที่จะปลุกเครื่องคอมพิวเตอร์ของคุณในเวลาที่เฉพาะเจาะจง สวิตช์นี้ต้องการจำนวนวินาทีตั้งแต่ Unix epoch (00:00:00 UTC วันที่ 1 มกราคม 1970) หากต้องการระบุจำนวนวินาทีที่ถูกต้องอย่างง่ายดายให้รวมคำสั่ง date กับคำสั่ง rtcwake
-lสวิทช์บอกว่านาฬิกา rtcwake ฮาร์ดแวร์ที่ถูกกำหนดให้เป็นเวลาท้องถิ่นขณะที่สวิทช์ -u บอก rtcwake ว่านาฬิกาฮาร์ดแวร์ (ใน BIOS ของคอมพิวเตอร์ของคุณ) ตั้งค่าเป็นเวลา UTC ลีนุกซ์ลีนุกซ์มักจะตั้งนาฬิกาฮาร์ดแวร์ของคุณเป็นเวลา UTC และแปลเป็นเวลาท้องถิ่นของคุณ
ตัวอย่างเช่นหากต้องการให้คอมพิวเตอร์ของคุณตื่นนอนเวลา 6.30 น. ในวันพรุ่งนี้ แต่ไม่ต้องระงับทันที (สมมติว่านาฬิกาฮาร์ดแวร์ของคุณถูกตั้งค่าเป็นเวลาท้องถิ่น) ให้เรียกใช้คำสั่งต่อไปนี้:
sudo rtcwake -m no -l -t $(date +%s -d ‘tomorrow 06:30’)
คุณสามารถลองตั้งค่า BIOS สำหรับเหตุการณ์ปลุกเมนบอร์ดเกือบทุกตัวมีคุณสมบัตินั้นใช้คู่มือ mb ของคุณและหามันใน AMI bios บางตัวเรียกว่า Wake up โดย RTC alarm ฉันคิดว่านั่นเป็นวิธีที่ง่ายในการ ปลุกพีซีในเวลาที่กำหนด
ดังนั้นหากใครสนใจนี่คือสิ่งที่ฉันพบว่าใช้งานได้โดยไม่ต้องติดตั้งอะไรและไม่เป็นรูท
ใช้รหัสคำสั่งนี้:
dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
และเพื่อหน่วงเวลาให้ใช้คำสั่ง sleep พร้อมตัวเลขที่มี smh หรือ d (วินาที, นาที, วัน, ชั่วโมง) และด้วย;
รหัสตัวอย่าง:
sleep 60s; dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
ที่หยุดทำงานคอมพิวเตอร์หลังจาก 60 วินาที