ฉันจะปิดระบบโดยอัตโนมัติหลังจากเวลาที่กำหนดเองได้อย่างไร
ฉันจะปิดระบบโดยอัตโนมัติหลังจากเวลาที่กำหนดเองได้อย่างไร
คำตอบ:
เปิดหน้าต่างเทอร์มินัลแล้วพิมพ์:
sudo shutdown -h +60
และแทนที่ 60 ด้วยจำนวนนาทีที่คุณต้องการ
ข้อมูลเพิ่มเติมที่นี่:
http://ubuntuforums.org/archive/index.php/t-473173.html http://www.linux.org/lessons/beginner/l5/lesson5a.html
-P
พารามิเตอร์ (ปิด) น่าจะเป็นความคิดที่ดีเกินไป
เนื่องจากหัวข้อเกี่ยวกับการปิดระบบ PC หลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่งจึงถูกเปลี่ยนเส้นทางไปยังหัวข้อนี้ฉันจะอธิบายปัญหานี้ที่นี่
ฉันใช้เวลามากมายในการแก้ปัญหานี้ดังนั้นฉันจึงพบว่ามีประโยชน์ในการแบ่งปันปัญหานี้เพื่อทำให้ปัญหาเดียวกันเป็นเรื่องง่ายสำหรับผู้อื่น ฉันลองใช้โปรแกรมที่แตกต่างกัน แต่พวกเขาไม่ได้ทำงานให้ฉันดังนั้นฉันจึงพบว่าใช้สคริปต์สั้น ๆกับcronjobทางออกที่ดีที่สุด
ก่อนอื่นฉันอ้างถึงโพสต์ตั้งเวลาปิด - ปิดหลังจาก 30 นาที
ฉันจะคัดลอกด้านล่างแล้วอธิบายการปรับปรุงเพื่อให้ทำงานได้:
ติดตั้ง xprintidle เครื่องมือนี้ให้เวลาว่างของผู้ใช้
sudo apt-get install xprintidle
สร้างสคริปต์ autoshutdown.sh ซึ่งจะตรวจสอบเวลาว่างและสั่งให้คอมพิวเตอร์ปิดถ้าไม่ได้ใช้งานเป็นเวลา 30 นาที
idle=$(xprintidle) if [ $idle -gt 1800000 ]; then shutdown -h now fi
สร้าง cronjob เพื่อตรวจสอบสิ่งนี้เป็นครั้งคราวหากระบบไม่ได้ใช้งานนานเกินไปและหากไม่ได้ใช้งานนานกว่า 30 นาทีระบบจะปิดตัวเอง โปรดทราบว่าจะต้องทำ cronjob สำหรับผู้ใช้รูท
สคริปต์นี้ต้องการการปรับปรุงในการทำงานเช่น:
idle=`env DISPLAY=:0 su OUR_USER -c xprintidle 2>&1`
OUR_USER
เป็นผู้ใช้ที่เราอ้างถึงสำหรับการตรวจสอบเวลาว่าง (ไม่ใช่ผู้ใช้รูท)
DISPLAY=:0
ถูกต้องสำหรับหน้าจอเดสก์ท็อปเดียว (เรียกใช้env
คำสั่งเพื่ออ่านDISPLAY
ในสถานการณ์ของคุณ)
หากสคริปต์รันโดยOUR_USER
บรรทัดด้านบนสามารถลดลงได้:
idle=`env DISPLAY=:0 xprintidle 2>&1`
หัวข้อนี้มีการอธิบายhttp://ubuntuforums.org/showthread.php?t=1069602
ถ้าสคริปต์จะดำเนินการโดยOUR_USER
, shutdown
คำสั่งควรจะนำหน้าด้วยsudo
sudo shutdown -h now
สคริปต์ของฉันถูกเรียกใช้จาก cron ทีละบรรทัดในไฟล์ cron:
*/5 * * * * /home/OUR_USER/autoshutdown.sh
หากสคริปต์ไม่ได้รันโดยรูทเราควรจำไว้ว่าให้เพิ่มบรรทัด:
ALL ALL=(ALL) NOPASSWD: /sbin/shutdown
ในไฟล์ sudoersดังนั้นคำสั่งshutdownจะไม่ต้องใช้รหัสผ่านในการดำเนินการ
ฉันลอง cronjobs ใน 2 distro ที่คล้ายกันLubuntu 12.04.4 RC LXLE 32-bit ( http://www.lxle.net/ )
ในระบบเดียวใช้งานได้โดยใช้ root cronjob set ในไฟล์:
/ var / spool / cron / crontabs / ราก
ปัญหาอีกประการหนึ่งคือxprintidle ในระบบของฉันได้ให้ค่าสุ่มสำหรับฉันและบางครั้งก็เพิ่มค่าตามหลักเหตุผล ผลลัพธ์สุดท้าย - ระบบของฉันมักจะปิดหลังจาก 20 นาทีบางทีถ้าฉันตั้งค่าสูงสุดที่ไม่ได้ใช้งานเป็น 30 นาที ฉันคิดว่าผู้ร้ายคือxscreensaverซึ่งไม่ทำงานตามที่กำหนดโดยพารามิเตอร์ที่ป้อน
คุณสามารถใช้ได้
ComplexShutdown https://launchpad.net/complexshutdown
หรือ EasyShutdown https://launchpad.net/easyshutdown