Cách làm cho máy tính Linux của bạn tự động thức dậy khỏi giấc ngủ
Bạn muốn đưa PC Linux của bạn vào chế độ ngủ hoặc ngủ đông và để nó tự động thức dậy vào một thời điểm cụ thể? Bạn có thể dễ dàng thực hiện việc này bằng lệnh rtcwake, được bao gồm theo mặc định với hầu hết các hệ thống Linux.
Điều này có thể hữu ích nếu bạn muốn máy tính của mình làm việc gì đó vào một thời điểm cụ thể, nhưng không muốn nó chạy 24/7. Ví dụ: bạn có thể đặt máy tính của mình ngủ vào ban đêm và đánh thức nó trước khi bạn thực hiện một số tải xuống.
Sử dụng rtcwake
Các rtcwake lệnh yêu cầu quyền root, vì vậy nó phải được chạy với sudo trên Ubuntu và các bản phân phối có nguồn gốc từ Ubuntu khác. Trên các bản phân phối Linux không sử dụng sudo, bạn sẽ phải đăng nhập bằng root với su lệnh đầu tiên.
Đây là cú pháp cơ bản của lệnh:
sudo rtcwake -m [loại đình chỉ] -s [số giây]
Ví dụ: lệnh sau sẽ treo hệ thống của bạn vào đĩa (ngủ đông) và đánh thức nó sau 60 giây:
sudo rtcwake -m đĩa -s 60
Các loại đình chỉ
Các -m chuyển đổi chấp nhận các loại đình chỉ sau:
- đứng gần - Chế độ chờ cung cấp ít tiết kiệm điện, nhưng khôi phục hệ thống đang chạy rất nhanh. Đây là chế độ mặc định nếu bạn bỏ qua công tắc -m.
- mem - Đình chỉ RAM. Điều này mang lại sự tiết kiệm năng lượng đáng kể - mọi thứ đều được đưa vào trạng thái năng lượng thấp, ngoại trừ RAM của bạn. Nội dung của bộ nhớ của bạn được bảo tồn.
- đĩa - Đình chỉ vào đĩa. Nội dung của bộ nhớ của bạn được ghi vào đĩa và máy tính của bạn bị tắt. Máy tính sẽ bật và trạng thái của nó sẽ được khôi phục khi bộ đếm thời gian hoàn thành.
- tắt - Tắt máy tính hoàn toàn. Trang người đàn ông của rtcwake lưu ý rằng việc khôi phục từ bản off off không chính thức được hỗ trợ bởi đặc tả ACPI, nhưng dù sao thì nó cũng hoạt động với nhiều máy tính.
- Không - Đừng tạm ngưng máy tính ngay lập tức, chỉ cần đặt thời gian thức dậy. Ví dụ, bạn có thể bảo máy tính của bạn thức dậy lúc 6 giờ sáng. Sau đó, có thể đặt nó ngủ bằng tay vào lúc 11 giờ tối hoặc 1 giờ sáng - bằng cách nào đó, nó sẽ thức dậy lúc 6 giờ sáng.
Giây so với thời gian cụ thể
Các -S tùy chọn mất một vài giây trong tương lai. Ví dụ: 60 giây đánh thức máy tính của bạn sau 60 giây, trong khi đó, 3600 đánh thức máy tính của bạn dậy sau một giờ.
Các -t tùy chọn cho phép bạn đánh thức máy tính của bạn tại một thời điểm cụ thể. Công tắc này muốn có một vài giây kể từ thời kỳ Unix (00:00:00 UTC ngày 1 tháng 1 năm 1970). Để dễ dàng cung cấp số giây chính xác, hãy kết hợp ngày lệnh với lệnh rtcwake.
Các -tôi switch nói với rtcwake rằng đồng hồ phần cứng được đặt thành giờ cục bộ, trong khi -bạn switch nói với rtcwake rằng đồng hồ phần cứng (trong BIOS máy tính của bạn) được đặt thành thời gian UTC. Các bản phân phối Linux thường đặt đồng hồ phần cứng của bạn thành giờ UTC và dịch nó sang giờ địa phương của bạn.
Ví dụ: để máy tính của bạn thức dậy lúc 6:30 sáng ngày mai nhưng không tạm ngưng ngay lập tức (giả sử đồng hồ phần cứng của bạn được đặt thành giờ địa phương), hãy chạy lệnh sau:
sudo rtcwake -m no -l -t $ (ngày +% s -d 'ngày mai 06:30')
Thêm lời khuyên
Sử dụng toán tử && để chạy một lệnh cụ thể sau khi rtcwake đánh thức hệ thống của bạn khỏi chế độ ngủ. Ví dụ: lệnh sau sẽ treo máy tính của bạn vào RAM, đánh thức nó hai phút sau đó và khởi chạy Firefox:
rtcwake -m mem -s 120 && firefox
Tích hợp lệnh rtcwake vào tập lệnh cron để tự động đánh thức máy tính của bạn tại một thời điểm cụ thể. Các -tôi không chuyển đổi cũng có thể hữu ích trong một tập lệnh cron. Ví dụ: bạn có thể chạy rtcwake -m không -s 28800 lệnh trong một kịch bản cron vào lúc 10 giờ tối mỗi ngày. Điều này sẽ đặt máy tính của bạn thức dậy sau 28800 giây lúc 6:00 sáng. Tuy nhiên, máy tính của bạn sẽ không đi ngủ ngay lập tức - bạn có thể đặt nó vào chế độ ngủ lúc 11 giờ tối hoặc 1 giờ sáng và nó vẫn sẽ thức dậy lúc 6 giờ sáng bình thường.
Hãy cẩn thận
- RTC là viết tắt của đồng hồ thời gian thực. rtcwake sử dụng đồng hồ phần cứng máy tính của bạn, mà bạn có thể thiết lập trong BIOS của mình, để xác định khi nào máy tính của bạn sẽ thức dậy. Nếu bạn đang sử dụng một máy tính cũ có pin CMOS sắp chết mà không thể giữ cho đồng hồ chạy đúng, điều này sẽ không hoạt động.
- Nếu ngủ, tạm dừng RAM hoặc ngủ đông không hoạt động đúng với hệ thống Linux của bạn - có lẽ vì Linux không có trình điều khiển để làm cho chúng hoạt động đúng với phần cứng của bạn - điều này có thể không hoạt động.
- Hãy cẩn thận khi đặt máy tính xách tay để tự động đánh thức tại một thời điểm cụ thể. Bạn sẽ không muốn nó thức dậy, chạy và quá nóng hoặc hết pin trong túi máy tính xách tay.