Làm thế nào tôi có thể tự động tắt hệ thống sau một thời gian cụ thể?


Câu trả lời:


49

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


2
Các -Ptham số (tắt nguồn) có vẻ là một ý tưởng tốt quá.
htorque

tắt máy + m 60 không hoạt động với tôi. đưa cho tôi một thông báo lỗi và nói rằng có một giá trị thời gian không hợp lệ.
NES

Tôi nghĩ nó thật kỳ quặc ... không nên là "+ m 60", nó phải là "+60" (hoặc có thể giống như "-h +60". Phần dưới của trang này dường như biết cách hoạt động của nó: linux.org/lessons/beginner/l5/lesson5a.html .
Daniel

"shutdown -P 1" - hoạt động tốt và tắt hệ thống sau 1 phút, không cần đơn vị thời gian.
n3rd

2
thực sự là sudo ..... vì cần đặc quyền root
Shirish Herwade

8
  • Bạn có thể sử dụng gshutdown Cài đặt gshutdown
  • Sau khi cài đặt, nó có thể được tìm thấy trong Ứng dụng → Phụ kiện → GShutdown văn bản thay thế
  • Cũng có một cái nhìn về phương pháp này .

Bất cứ ai có thể nói tôi tại sao họ xuống bỏ phiếu?
karthick87

2
Tôi đã không bỏ phiếu. Nhưng Gshutdown không hoạt động trơn tru ở đây. Khi tôi chọn tắt máy, nó sẽ đăng xuất người dùng?
NES

Tôi cũng vậy, nó đăng xuất người dùng và máy tính xách tay chuyển sang chế độ ngủ
lewis4u

2

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=:0là chính xác cho một màn hình máy tính để bàn (chạy envlệnh để đọc DISPLAYtrong 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, shutdownlệ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 
  • cứ sau 5 phút
  • OUR_USER nên được thay thế sớm hơn cho người dùng mà chúng tôi đề cập đến.

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


CAUPAT

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.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.