回答:
サスペンドおよびハイバネート機能を処理するには多くの方法があり、古いメソッドの多くは非推奨です。すべてのソリューションが次のものとはまったく無関係であるように思われるため、これはソリューションの検索を困難にしました。とは言うものの...
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
これはあなたが始める手助けになるはずです、あなたがいくつかの手がかりを得ると、トレイルをさらに下に行くのがはるかに簡単になります。結果に関するコメントを投稿してください。残りの問題について説明します。
dmesg
出力は、シーンの背後に何が起こっているかを教えてくれます。さらに重要なことは、特に失敗している可能性があることです。ところで、develパッケージは必要ありません。コードのコンパイル時にのみ必要なので、パージしてもかまいません。ここから進むべき方向はたくさんありますが、間違った木を吠えることはしません。
pm-suspend
GNOMEメニューではなく、シェルからコマンドを実行しようとしましたか?echo -n "mem" >/sys/power/state
ルートとして試してください。また、使用しているacpi
場合は、acpi_listen
たとえばふたを閉じたときに、どのイベントが生成されているかを確認できます。
システムを一時停止/再開したときにのみ取得したい場合は、これを試すことができます:
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.
ルートとして、ミカによって提案されたように:
PM_DEBUG=true pm-suspend
詳細:
/var/log/pm-suspend.log
この場合、あなたはどこを探しています
[...] service [servicename] suspend suspend success
終わり、そして
[...] service [servicename] suspend resume success
始まる。途中のどこかで呼び出しがエラーを返す場合があり、その時点で中断は禁止されます。この場合、ロールバックされている変更を一時停止している可能性があります。エラーをスローしているサービスコールを特定し、viで開いて確認します。
xboxdrv
Ubuntu 12.04 にインストールした後、ルールで行われた呼び出しが/etc/pm/sleep.d/
、開始されていない、または存在しないサービス(この場合は)を停止しようとしたときに同じ問題が発生しましたxboxdrv
。/lib/modules/uinput.ko
そのモジュールはカーネルにマージされているため、モジュールがなかったため、そもそもそれを開始することはできなかったことがわかりました。これにより、caseステートメントが/etc/pm/sleep.d/xboxdrv
「suspend」が呼び出しに一致すると、caseステートメントでエラーがスローされましたservice xboxdrv stop
。行の先頭に#
文をバイパスするとステートメントがバイパスされますが、サスペンド後にコントローラーをいったん取り外してから再接続する必要がありますが、再開します。