ノートブックが目覚める理由を見つける方法は?


9

ノートブックのサスペンドに問題がありますが、望まないときに目覚めます(すぐに、またはかなり遅れてバッグに入れられます-ここで解決する2つの問題がある可能性があります)。しかし今のところ、この質問はトラブルシューティングについてresumeです。最後のアクションのトリガーが何であるかを教えてくれるコマンドを実行できますか?たとえば、キーが押されたかどうか、電源ボタン、ウェイクオンラン信号であったかどうか、AC電源からバッテリーに切り替わっていたかどうかなどです。

Windowsでは、入力powercfg -lastwakeしてこれを見つけることができるようです。そのため、そのコマンドに相当するLinuxを探しています。

そのようなコマンドがない場合、どのログファイルで何を探す必要がありますか?

(Mint 16、xfce、Lenova Thinkpad、カーネル3.11.0-12-generic)

回答:


3

ThinkPadがあるので、他の提案(予備的なsystemdヒント)に加えて、thinkpad_acpiドライバーを使用している場合は、を参照することをお勧めします/sys/devices/platform/thinkpad_acpi/wakeup_reason。このファイルには、次のような理由で組み込みコントローラーがラップトップを起動したかどうかを示す番号が含まれていますローバッテリー (少なくとも私はそう思った)、ドック取り外し要求など

Documentation/laptops/thinkpad-acpi.txt状態として:

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

systemdを使用するシステム

を利用するシステムでsystemdは、journalctlコマンドを使用してsystemdのログを確認できます。

ここでは、たとえば、私のシステムがふたが閉じられた状態からスリープ状態になり、それを開いたときに、これに関連するイベントが次のように表示されます。

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

systemdのないシステム

使用しないシステムのsystemd場合、さまざまな場所を探す必要があります。手始めに、dmesgログを見ることができます。/var/log/syslog電源管理またはACPI関連のイベントに関連するメッセージを探すこともできます。

まず、/var/log/pm_suspend.logが存在すると想定して、を確認します。特にLinux Mintなどのディストリビューションでは、次のようなメッセージが見つかる可能性があります。

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

参考文献


しかし、systemdはMintやDebianではデフォルトではありません。現在、Debian-stableのプレビューとしてのみ含まれています。
トーマス・ヒューズ2014年

@GuyHughes-はい、知っています。以前のバージョンでこれを行う方法を探しています。
slm

0

で開始することもできますがdmesg、確認してman dmesgみてくださいdmesg -k


dmesg -k | wc -l与える3298 :-)ところで、これは見ることとは違う何かを私に教えますか/var/log/kern.log
Darren Cook

@DarrenCookは、一時停止/再開がいつ発生したかを特定し、そのセクションを分析しwc -lます。
Thomas Hughes
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.