Bagaimana cara menemukan alasan notebook bangun?

9

Saya mengalami masalah dengan penangguhan buku catatan saya, tetapi kemudian bangun ketika saya tidak menginginkannya (baik segera, atau lama kemudian ketika berada di tas - saya mungkin memiliki dua masalah untuk diselesaikan di sini). Tetapi untuk sementara pertanyaan ini adalah tentang pemecahan masalah: apakah ada perintah yang dapat saya jalankan yang akan memberi tahu saya apa pemicunya untuk resumetindakan terakhir ? Misalnya apakah tombol ditekan, atau tombol daya, apakah itu sinyal bangun, apakah beralih dari daya AC ke adonan, dll., Dll.

Tampaknya pada Windows Anda dapat mengetik powercfg -lastwakeuntuk mengetahui hal ini. Jadi saya mencari Linux yang setara dengan perintah itu.

Jika tidak ada perintah seperti itu, apa yang harus saya cari, di mana file log?

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

Darren Cook
sumber

Jawaban:

3

Karena Anda sudah memiliki ThinkPad, selain saran lainnya ( systemdpetunjuk awal ), jika Anda menggunakan thinkpad_acpidriver, Anda mungkin ingin melihatnya /sys/devices/platform/thinkpad_acpi/wakeup_reason. File ini berisi nomor yang memberitahu Anda apakah pengontrol yang tertanam membangunkan laptop Anda dengan alasan sepertibaterai lemah (setidaknya saya pikir itu benar), permintaan penghapusan dermaga, dll.

Sebagai Documentation/laptops/thinkpad-acpi.txtnegara:

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.
Andreas Wiese
sumber
4

Sistem dengan systemd

Pada sistem yang memanfaatkan systemdAnda dapat melihat melalui log systemd menggunakan journalctlperintah.

Contoh

Di sini, misalnya sistem saya tidur dari tutupnya ditutup dan kemudian ketika saya membukanya, Anda akan melihat acara yang berkaitan dengan ini seperti:

$ 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.
...

Sistem tanpa systemd

Untuk sistem yang tidak menggunakan systemdAnda memiliki berbagai tempat untuk dilihat. Anda bisa sebagai permulaan melihat dmesglog. Anda juga dapat mencari /var/log/syslogpesan yang terkait dengan manajemen daya atau peristiwa terkait ACPI.

Saya akan mulai dengan melihat /var/log/pm_suspend.log, dengan asumsi itu ada. Khususnya pada distro seperti Linux Mint, Anda mungkin akan menemukan pesan seperti ini di sana:

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:
...

Referensi

slm
sumber
Tetapi, systemd tidak default di Mint atau Debian. Ini hanya disertakan sebagai pratinjau di Debian-stable saat ini.
Thomas Hughes
@GuyHughes - ya saya tahu, saya sedang mencari cara untuk melakukan ini di versi sebelumnya.
slm
0

Anda dapat mulai dengan dmesg, periksa man dmesgtetapi Anda mungkin ingin mencoba dmesg -k.

Thomas Hughes
sumber
dmesg -k | wc -lmemberikan 3298 :-) BTW, apakah ini memberitahu saya sesuatu yang berbeda dengan melihat /var/log/kern.log?
Darren Cook
@ DarrenCook hanya mengidentifikasi ketika penundaan / resume terjadi dan menganalisis bagian yang akan wc -ljauh lebih sedikit.
Thomas Hughes