Làm thế nào để tìm lý do một máy tính xách tay thức dậy?


9

Tôi đang gặp vấn đề với việc treo máy tính xách tay của mình, nhưng sau đó thức dậy khi tôi không muốn nó (ngay lập tức hoặc muộn hơn khi ở trong túi - tôi có thể có hai vấn đề cần giải quyết ở đây). Nhưng hiện tại câu hỏi này là về khắc phục sự cố: có một lệnh tôi có thể chạy sẽ cho tôi biết kích hoạt là gì cho resumehành động cuối cùng không? Ví dụ: liệu phím được nhấn hay nút nguồn, cho dù đó là tín hiệu báo thức, cho dù đó là chuyển từ nguồn AC sang đập, v.v.

Dường như trên Windows, bạn có thể gõ powercfg -lastwakeđể tìm hiểu điều này. Vì vậy, tôi đang tìm kiếm Linux tương đương với lệnh đó.

Nếu không có lệnh đó, tôi cần tìm gì, trong tệp nhật ký nào?

(Mint 16, xfce, Lenova Thinkpad, kernel 3.11.0-12-generic)

Câu trả lời:


3

Vì bạn đã có ThinkPad, bên cạnh các đề xuất khác (sơ bộ systemdgợi ý), nếu bạn đang sử dụng thinkpad_acpitrình điều khiển, bạn có thể muốn xem qua /sys/devices/platform/thinkpad_acpi/wakeup_reason. Tệp này chứa một số cho bạn biết liệu bộ điều khiển nhúng có đánh thức máy tính xách tay của bạn vì những lý do nhưpin yếu (ít nhất tôi nghĩ rằng nó đã làm), yêu cầu loại bỏ dock, v.v.

Như Documentation/laptops/thinkpad-acpi.txtcác tiểu bang:

wakeup_reason:
    Set to 1 if the system is waking up because the user
    requested a bay ejection.  Set to 2 if the system is
    waking up because the user requested the system to
    undock.  Set to zero for normal wake-ups or wake-ups
    due to unknown reasons.

4

Hệ thống với systemd

Trên các hệ thống sử dụng systemdbạn có thể xem qua nhật ký của systemd bằng journalctllệnh.

Thí dụ

Ở đây, ví dụ hệ thống của tôi chuyển sang chế độ ngủ khi nắp được đóng và sau đó khi tôi mở nó, bạn sẽ thấy các sự kiện liên quan đến vấn đề này như sau:

$ journalctl | less
...
May 19 09:04:47 greeneggs.bubba.net kernel: PM: Syncing filesystems ... done.
May 19 09:04:47 greeneggs.bubba.net kernel: PM: Preparing system for mem sleep
May 19 09:33:42 greeneggs.bubba.net kernel: Freezing user space processes ... (elapsed 0.002 seconds) done.
May 19 09:33:42 greeneggs.bubba.net systemd[1]: Time has been changed
May 19 09:33:42 greeneggs.bubba.net systemd-logind[772]: Lid opened.
...

Hệ thống không có systemd

Đối với các hệ thống không sử dụng, systemdbạn có nhiều nơi để tìm. Bạn có thể cho người mới bắt đầu nhìn vào dmesgnhật ký. Bạn cũng có thể xem /var/log/syslogcác tin nhắn liên quan đến quản lý năng lượng hoặc các sự kiện liên quan đến ACPI.

Tôi sẽ bắt đầu bằng cách xem xét /var/log/pm_suspend.log, giả sử nó tồn tại. Đặc biệt là trên các bản phân phối như Linux Mint, bạn có thể sẽ tìm thấy các thư như thế này:

Thu Feb 21 21:21:50 GMT 2013: Running hooks for hibernate.
Running hook /usr/lib/pm-utils/sleep.d/000kernel-change hibernate hibernate:
/usr/lib/pm-utils/sleep.d/000kernel-change hibernate hibernate: success.
Running hook /usr/lib/pm-utils/sleep.d/00logging hibernate hibernate:
...

Người giới thiệu


Nhưng, systemd không mặc định trong Mint hoặc Debian. Hiện tại, nó chỉ được bao gồm dưới dạng bản xem trước trong ổn định Debian.
Thomas Hughes

@GuyHughes - vâng tôi biết, tôi đang tìm cách để làm điều này theo các phiên bản trước.
slm

0

Bạn có thể bắt đầu với dmesg, kiểm tra man dmesgnhưng bạn có thể muốn thử dmesg -k.


dmesg -k | wc -lđưa ra 3298 :-) BTW, điều này có cho tôi biết điều gì khác khi nhìn vào /var/log/kern.logkhông?
Darren Cook

@DarrenCook chỉ cần xác định khi xảy ra đình chỉ / tiếp tục và phân tích phần đó sẽ wc -lít hơn nhiều.
Thomas Hughes
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.