Kích hoạt cho ngủ đông:
- Nhấn nút Hibernate trong Kickoff -> Rời khỏi -> Hibernate
- Nhấn Hibernate trên biểu tượng Năng lượng trong khay hệ thống
- Gửi tín hiệu dbus:
qdbus org.kde.kded /modules/powerdevil suspend 4
Khi ngủ đông được kích hoạt, đây là luồng thực thi:
/usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux
được gọi là
/usr/sbin/pm-hibernate
được gọi với một số đối số
- Ghi nhật ký bắt đầu
/var/log/pm-suspend.log
- Móc được thực hiện để chuẩn bị cho ngủ đông. Các móc này được đặt tại
/usr/lib/pm-utils/sleep.d/
và /etc/pm/sleep.d
, và được sắp xếp theo tên (số đầu tiên)
performing hibernate
được ghi vào nhật ký
- Hàm shell
do_hibernate
được gọi, hướng dẫn hệ thống ngủ đông
- Khi hệ thống hoạt động trở lại, các hook được thực thi để khôi phục từ chế độ ngủ đông
- Hệ thống đang chạy lại
Để tắt chế độ ngủ đông, hãy tạo /etc/pm/sleep.d/000no-hibernation
với nội dung tiếp theo:
#!/bin/sh
# prevents hibernation
. "$PM_FUNCTIONS"
[ "$1" = "hibernate" ] && inhibit || true
Như 000no-hibernation
được gọi trước các tập lệnh như 00logging
(xuất các mô-đun và thông tin bộ nhớ trong nhật ký), không có ứng dụng hoặc mô-đun nào bị gián đoạn hoặc không tải. Tên này được lấy cảm hứng từ /usr/lib/pm-utils/sleep.d/000kernel-change
. Cảnh giác với lỗi # 665651 khiến các giá trị trả về khác không của các hook không thể hủy bỏ tạm dừng hoặc ngủ đông.
Điều này khắc phục vấn đề ngủ đông cho tôi. Mặc dù màn hình bị khóa, tôi có thể sống với điều này. Nó tốt hơn nhiều so với một hệ thống bị sập.