Câu trả lời:
Mở một cửa sổ đầu cuối và gõ vào:
sudo shutdown -h +60
và chỉ cần thay thế 60 bằng bất cứ số phút nào bạn muốn thực hiện.
Thêm thông tin ở đây:
http://ubuntuforums.org/archive/index.php/t-473173.html http://www.linux.org/lessons/beginner/l5/lesson5a.html
-P
tham số (tắt nguồn) có vẻ là một ý tưởng tốt quá.
Vì chủ đề tắt máy tính sau một thời gian không hoạt động nhất định được chuyển hướng đến chủ đề này, tôi sẽ giải thích vấn đề này ở đây.
Tôi đã dành rất nhiều thời gian để giải quyết vấn đề này, vì vậy tôi thấy nó hữu ích để chia sẻ nó, để làm cho vấn đề tương tự trở nên đơn giản cho những người khác. Tôi đã thử các chương trình khác nhau nhưng chúng không hiệu quả với tôi vì vậy tôi thấy sử dụng kịch bản ngắn với cronjob là giải pháp tốt nhất.
Đầu tiên tôi đề cập đến việc tắt Thời gian tắt máy - tắt máy sau 30 phút
Tôi sẽ sao chép nó bên dưới và sau đó giải thích các cải tiến để làm cho nó hoạt động:
Cài đặt xprintidle. Công cụ này cung cấp thời gian nhàn rỗi của người dùng.
sudo apt-get install xprintidle
Tạo một kịch bản autoshutdown.sh để kiểm tra thời gian rảnh và hướng dẫn máy tính tắt nếu không hoạt động trong 30 phút.
idle=$(xprintidle) if [ $idle -gt 1800000 ]; then shutdown -h now fi
Tạo một cronjob cho việc này để kiểm tra theo thời gian nếu hệ thống không hoạt động quá lâu và nếu nó không hoạt động trong thời gian dài hơn 30 phút thì nó sẽ tắt. Lưu ý rằng cronjob phải được thực hiện cho người dùng root.
Kịch bản này cần một số cải tiến để hoạt động, như:
idle=`env DISPLAY=:0 su OUR_USER -c xprintidle 2>&1`
OUR_USER
là người dùng chúng tôi tham khảo để kiểm tra thời gian nhàn rỗi (không phải người dùng root)
DISPLAY=:0
là chính xác cho một màn hình máy tính để bàn (chạy env
lệnh để đọc DISPLAY
trong tình huống của bạn)
nếu tập lệnh được chạy bởi OUR_USER
, dòng trên có thể được giảm:
idle=`env DISPLAY=:0 xprintidle 2>&1`
Chủ đề này được mô tả http://ubuntuforums.org/showthread.php?t=1069602
nếu tập lệnh được chạy bởi OUR_USER
, shutdown
lệnh phải được đi trước bởisudo
sudo shutdown -h now
Kịch bản của tôi đã được chạy từ cron theo dòng trong tệp cron:
*/5 * * * * /home/OUR_USER/autoshutdown.sh
Nếu tập lệnh không được chạy bởi root, chúng ta nên nhớ thêm dòng:
ALL ALL=(ALL) NOPASSWD: /sbin/shutdown
trong tập tin sudoers , vì vậy lệnh shutdown sẽ không cần mật khẩu để thực thi.
Tôi đã thử các cronjobs như vậy trên 2 bản phân phối tương tự LubFi 12.04.4 RC LXLE 32-bit ( http://www.lxle.net/ )
Trong một hệ thống, nó chỉ hoạt động bằng cách sử dụng bộ cronjob gốc trong tệp:
/ var / spool / cron / crontabs / root
Một vấn đề khác là xprintidle trong hệ thống của tôi đôi khi mang lại giá trị ngẫu nhiên cho tôi và đôi khi tăng dần về mặt logic. Kết quả cuối cùng - hệ thống của tôi thường bị tắt sau 20 phút, nếu tôi đặt giá trị không hoạt động tối đa thành 30 phút. Tôi nghĩ thủ phạm là xscreenaver không hoạt động như được đặt bởi các tham số đã nhập.
Bạn có thể dùng
ComplexShutdown https://launchpad.net/complexshutdown
hoặc EasyShutdown https://launchpad.net/easyshutdown