サスペンドの問題をデバッグする方法は?


11

以前はこのHP Compaq 610にFedora 14をインストールしていましたが、サスペンド機能は問題なく動作しました。Scientific Linux 6.1をインストールしたので、サスペンドが機能しなくなりました。どうすればデバッグ/修正できますか?


これはシェルのサスペンド(<kbd> Cntl-z </ kbd>)またはOS(スリープまたはハイバネート)ですか?
Arcege 2011

@Arcege:最近、ACPIが一般的な問題になっているため、ACPIの一時停止を意味していると思います。
JMベッカー

回答:


9

サスペンドおよびハイバネート機能を処理するには多くの方法があり、古いメソッドの多くは非推奨です。すべてのソリューションが次のものとはまったく無関係であるように思われるため、これはソリューションの検索を困難にしました。とは言うものの...

http://pm-utils.freedesktop.org/wiki/から提唱されている、現在推奨されている方法は、最新のディストリビューションで利用できるはずです。最初にpm-utils、インストールされているかどうか、および含まれているコマンドが期待どおりに動作しているかどうかを確認します。

パッケージがインストールされているかどうかを確認するには、ターミナルで次のコマンドを入力します

rpm -qa | grep pm-utils

これにより、インストールしたバージョンが出力されます。予期した出力が得られない場合は、パッケージをインストールする必要があります。

sudo yum install pm-utils

確認したら、一時停止する機能をテストします。

sudo pm-suspend

一時停止せず、なぜ出力も得られない場合は、最新のdmesg出力を確認してください

dmesg | tail -50

これはあなたが始める手助けになるはずです、あなたがいくつかの手がかりを得ると、トレイルをさらに下に行くのがはるかに簡単になります。結果に関するコメントを投稿してください。残りの問題について説明します。


pm-utils-develもインストールしました。pm-suspend with root userは、通常のユーザーと同じようにGNOME / menu-> suspend-> nothingをクリックすると、マシンは「ネットワークがオフです」とだけ表示され、その後、待機して待機します。一時停止しようとした後、何も開始しません。私は後でdmesgを見ます、ありがとう!
LanceBaynes 2012年

dmesg出力は、シーンの背後に何が起こっているかを教えてくれます。さらに重要なことは、特に失敗している可能性があることです。ところで、develパッケージは必要ありません。コードのコンパイル時にのみ必要なので、パージしてもかまいません。ここから進むべき方向はたくさんありますが、間違った木を吠えることはしません。
JMベッカー

1
@LanceBaynes pm-suspendGNOMEメニューではなく、シェルからコマンドを実行しようとしましたか?echo -n "mem" >/sys/power/stateルートとして試してください。また、使用しているacpi場合は、acpi_listenたとえばふたを閉じたときに、どのイベントが生成されているかを確認できます。

WOW、WTF?rootユーザーで "echo -n" mem "> / sys / power / state"を実行すると、実際に中断されました!!!! ワオ。唯一の問題は、この種のサスペンドを実行しているときにgnome-screensaverが起動せず、ロックされていないPCが残ることです。これを回避する方法は?スクリプト/何かを作成して、通常のユーザーもこのような中断を使用できるようにするにはどうすればよいですか?rootユーザーだけでなく -そしてもう1つ:ありがとうございます!
LanceBaynes 2012年

2
@LanceBaynes:現在機能していますか?...私はかつてこの種の「驚き」のブレイク/リペアがWidozeでのみ起こったことを信じていました。残念ながら、私はしばらくそれを信じることをやめました。しかし...明るい面では、それはそれほど頻繁には起こりません!そして、サスペンドが機能しているので、朗報です!
JMベッカー

8

ルートとしてこれを試してください:

PM_DEBUG=true pm-suspend

次に/var/log/pm-suspend.log、何が問題になるかについてのヒントを確認します。

一時停止はできるが再開はできない場合は、Ubuntu wikiにこの問題のデバッグ方法に関する優れた記事があります。


2

システムを一時停止/再開したときにのみ取得したい場合は、これを試すことができます:

cat /var/log/syslog | grep 'systemd-sleep' | grep "Suspending\|resumed";
Feb  7 10:44:23 dmatej-lenovo systemd-sleep[19900]: Suspending system...
Feb  7 10:44:33 dmatej-lenovo systemd-sleep[19900]: System resumed.
Feb  7 10:45:35 dmatej-lenovo systemd-sleep[20707]: Suspending system...
Feb  7 12:58:39 dmatej-lenovo systemd-sleep[20707]: System resumed.
Feb  7 14:42:55 dmatej-lenovo systemd-sleep[24690]: Suspending system...
Feb  7 16:31:57 dmatej-lenovo systemd-sleep[24690]: System resumed.

1

ルートとして、ミカによって提案されたように:

PM_DEBUG=true pm-suspend

詳細:

/var/log/pm-suspend.log

この場合、あなたはどこを探しています

[...] service [servicename] suspend suspend success

終わり、そして

[...] service [servicename] suspend resume success

始まる。途中のどこかで呼び出しがエラーを返す場合があり、その時点で中断は禁止されます。この場合、ロールバックされている変更を一時停止している可能性があります。エラーをスローしているサービスコールを特定し、viで開いて確認します。

xboxdrvUbuntu 12.04 にインストールした後、ルールで行われた呼び出しが/etc/pm/sleep.d/、開始されていない、または存在しないサービス(この場合は)を停止しようとしたときに同じ問題が発生しましたxboxdrv/lib/modules/uinput.koそのモジュールはカーネルにマージされているため、モジュールがなかったため、そもそもそれを開始することはできなかったことがわかりました。これにより、caseステートメントが/etc/pm/sleep.d/xboxdrv「suspend」が呼び出しに一致すると、caseステートメントでエラーがスローされましたservice xboxdrv stop。行の先頭に#文をバイパスするとステートメントがバイパスされますが、サスペンド後にコントローラーをいったん取り外してから再接続する必要がありますが、再開します。


これを実行した後、デバッグログにエラーはありませんが、魔法のように再び動作し始めました;-)永続的な修正かどうか疑問に思っています...
Wirone
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.