web-dev-qa-db-ja.com

pm-hibernateの代わりにhibernateを使用して強制的に休止状態にします

18.04を実行していて、ラップトップのふたが閉じたときにpm-hibernateではなくhibernateをシステムに使用させようとしています。

16GBのRAMに20GBのスワップパーティションがあるため、十分なスペースがあります。

Pm-hibernateを使用すると、ハイバネーションと復元の両方を実行できないときに、非常にすばやくポップアップする小さなapciエラーが表示されます。休止状態はディスクにダンプしてディスクから復元するという意味で機能しますが、完全にシャットダウンしてバッテリーの使用を停止するのではなく、通常の速度でバッテリーを使用するという点でスリープ状態のようです。

ただし、次の方法でインストールされた休止状態を使用する場合:

Sudo apt-get install hibernate

そして実行:

Sudo hibernate

そして、そこから復元すると、私のマシンが実際にシャットダウンしたことに気づきました--- LEDのズレが止まります---そしてバッテリーの使用量がゼロになります。これは、ふたが閉じたときに見たい動作であり、コンピューターを積極的に使用しているようにバッテリーを使用するスリープ動作ではありません。

私はこれらのガイドに従っています:

修正された

/etc/systemd/logind.conf

含める:

#HandleLidSwitch=suspend
HandlelidSwitch=hibernate

スワップパーティションの変更を追加しました。

/etc/default/grub

正しいresume =リンクを含め、具体的にはs2diskを要求するには:

Sudo cat /etc/pm/config.d/00sleep_module
SLEEP_MODULE="swsusp"

次の関連するaskubuntusを読みました。

また、LenovoとArchのフォーラムでこれらのリンクを読みました。

Lid-closeによって呼び出された休止状態がpm-hibernateではなく休止状態であることを確認するにはどうすればよいですか?

更新

これはまだ問題であり、Carbon X1第6世代をubuntuで基本的に役に立たなくします。これを修正し、おそらくログインプロンプトを追加できるソリューションは、4年前のWindowsマシンとほぼ同じくらい良いかもしれません...;)

14
Mittenchops

2つのオプション

最初のオプション(2番目にリストされています)は、journalctlを調べて、休止状態に関連するエラーメッセージを探します。最初のオプションで結果が生成されない場合、2番目のオプションはpm-hibernateを `hibernateに置き換えるラッパースクリプトを作成することです。

ラッパースクリプトを作成する

ラッパースクリプトを作成すると、hibernatepm-hibernateを置き換えることができます。

ディレクトリ検索コマンドはにあります

ラッパースクリプトを作成する前に、hibernateおよびpm-hibernateコマンドが存在するディレクトリを知る必要があります。次の2つのコマンドを使用します。

$ locate bin/hibernate
/mnt/c/Program Files (x86)/CyberPower PowerPanel Business Edition/bin/hibernate.dll

$ locate bin/pm-hibernate
/mnt/clone/usr/sbin/pm-hibernate
/mnt/old/usr/sbin/pm-hibernate
/usr/sbin/pm-hibernate

作成するラッパースクリプトは/usr/sbin/pm-hibernateになります。 hibernateパッケージがインストールされていないため、最初の検索ではWindowsユーティリティのみが検出されます。 パッケージファイルのリスト によると、他のいくつかのファイルとともに/usr/sbin/hibernateが表示されるはずです。

元のファイルをバックアップ

最初に、元のファイルのオンラインバックアップコピーを作成します。

Sudo cp -a /usr/sbin/pm-hibernate /usr/sbin/pm-hibernate.bak

次に、元のファイルを削除します。

Sudo rm -f /usr/sbin/pm-hibernate

ラッパースクリプトを作成する

注:多くの場合、ラッパースクリプトの代わりに、pm-hibernateからhibernateへのシンボリックリンクを作成する方が簡単です: ソフトリンクまたはシンボリックリンクの作成方法

編集にはgeditを使用しますが、nanoまたはvim、または任意のエディターに置き換えることができます。

Sudo -H gedit /usr/sbin/pm-hibernate

空のファイルが表示されます。次の行に貼り付けます

#!/bin/bash
# Wrapper script to replace pm-hibernate with hibernate package
/usr/sbin/hibernate "$@"

ラッパースクリプトを実行可能ファイルに変換する

現在、ラッパースクリプトは通常のファイルです。実行可能オブジェクトに変換する必要があります。

Sudo chmod a+x /usr/sbin/pm-hibernate

動作可能なラッパースクリプトが用意されたため、pm-hibernateが呼び出されるたびにhibernateが代わりに実行されます。ただし、上で述べたように、ラッパースクリプトを作成する前に、最初にjournalctlを確認する必要があります(次に説明します)。

レビューjournalctl

grepの休止状態メッセージjournalctlを使用して、考えられる問題を解決できます。

私は休止状態を使用しませんが、サスペンドを使用します。次のコマンドを使用すると、suspendに関連するすべてのメッセージを表示できます。これは、hibernateに置き換えられます。

$ journalctl -b | grep -i suspend
Oct 09 22:26:33 alien eyesome[21740]: Lid Open/Close: Wait 3 seconds to see if suspending
Oct 09 22:26:48 alien systemd[1]: Starting TLP suspend/resume...
Oct 09 22:26:48 alien systemd[1]: Started TLP suspend/resume.
Oct 09 22:26:48 alien systemd[1]: Starting Suspend...
Oct 09 22:26:48 alien systemd-sleep[22938]: /lib/systemd/system-sleep/sound: Going to suspend...
Oct 09 22:26:48 alien eyesome[22952]: Wakeup: Going to suspend.  Creating: /tmp/eyesome-is-suspending
Oct 09 22:26:49 alien systemd-sleep[22938]: Suspending system...
Oct 10 04:26:38 alien kernel: PM: Suspending system (mem)
Oct 10 04:26:38 alien kernel: Suspending console(s) (use no_console_suspend to debug)
Oct 10 04:26:38 alien kernel: PM: suspend of devices complete after 1142.044 msecs
Oct 10 04:26:38 alien kernel: PM: late suspend of devices complete after 19.766 msecs
Oct 10 04:26:38 alien kernel: PM: noirq suspend of devices complete after 61.505 msecs
Oct 10 04:26:38 alien kernel: Suspended for 21583.011 seconds
Oct 10 04:26:38 alien eyesome[23137]: Lid Open/Close: Wait 3 seconds to see if suspending
Oct 10 04:26:38 alien systemd-sleep[22938]: /lib/systemd/system-sleep/sound: Waking up from suspend...
Oct 10 04:26:38 alien eyesome[23168]: Wakeup: Called from suspend.
Oct 10 04:26:41 alien systemd[1]: Started Suspend.
Oct 10 04:26:41 alien systemd[1]: Stopping TLP suspend/resume...
Oct 10 04:26:41 alien systemd[1]: Reached target Suspend.
Oct 10 04:26:41 alien systemd[1]: suspend.target: Unit is bound to inactive unit systemd-suspend.service. Stopping, too.
Oct 10 04:26:41 alien systemd[1]: Stopped target Suspend.
Oct 10 04:26:42 alien systemd[1]: Stopped TLP suspend/resume.
Oct 10 04:26:52 alien eyesome[24459]: Daemon: Removed file: /tmp/eyesome-is-suspending
Oct 10 05:47:09 alien eyesome[12434]: Lid Open/Close: Wait 3 seconds to see if suspending
Oct 10 05:51:43 alien systemd[1]: Starting TLP suspend/resume...
Oct 10 05:51:44 alien systemd[1]: Started TLP suspend/resume.
Oct 10 05:51:44 alien systemd[1]: Starting Suspend...
Oct 10 05:51:44 alien systemd-sleep[28353]: /lib/systemd/system-sleep/sound: Going to suspend...
Oct 10 05:51:44 alien eyesome[28367]: Wakeup: Suspending.  Creating /tmp/eyesome-is-suspending
Oct 10 05:51:45 alien systemd-sleep[28353]: Suspending system...
Oct 10 16:30:59 alien kernel: PM: Suspending system (mem)
Oct 10 16:30:59 alien kernel: Suspending console(s) (use no_console_suspend to debug)
Oct 10 16:30:59 alien kernel: PM: suspend of devices complete after 623.519 msecs
Oct 10 16:30:59 alien kernel: PM: late suspend of devices complete after 19.654 msecs
Oct 10 16:30:59 alien kernel: PM: noirq suspend of devices complete after 61.549 msecs
Oct 10 16:30:59 alien kernel: Suspended for 38348.943 seconds
Oct 10 16:30:59 alien eyesome[28563]: Lid Open/Close: Wait 3 seconds to see if suspending
Oct 10 16:30:59 alien systemd-sleep[28353]: /lib/systemd/system-sleep/sound: Waking up from suspend...
Oct 10 16:30:59 alien eyesome[28599]: Wakeup: Called from suspend.
Oct 10 16:31:02 alien systemd[1]: Started Suspend.
Oct 10 16:31:02 alien systemd[1]: Stopping TLP suspend/resume...
Oct 10 16:31:02 alien systemd[1]: Reached target Suspend.
Oct 10 16:31:02 alien systemd[1]: suspend.target: Unit is bound to inactive unit systemd-suspend.service. Stopping, too.
Oct 10 16:31:02 alien systemd[1]: Stopped target Suspend.
Oct 10 16:31:03 alien systemd[1]: Stopped TLP suspend/resume.
Oct 10 16:31:13 alien eyesome[30020]: Daemon: Removed file: /tmp/eyesome-is-suspending
1

私もURLを渡す必要がないので、情報をコピーして貼り付け、Webページを下部に添付します。リンクにこれが表示されません。

これを読んでいるときに、btrfsファイルシステムでフォーマットした場合、休止状態が機能しない可能性があることに気付きましたか?では、Ubuntu 16.04で休止状態を永続的に有効にするにはどうすればよいですか?

Ubuntuの休止プロセスを永続的にするには、コマンドラインでテキストエディターを使用して新しいファイルを作成する必要があります。

Sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

システムには、休止状態オプションを有効にするためのルート権限が必要です。したがって、コマンドSudoを追加する必要があります。 vi、gedit、emacsなどの他のテキストエディターを使用できます。

次に、次のテキストをコピーしてファイルに貼り付けます(マウスを使用します。キーボードショートカットは機能しません)。

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

押す CTRL+O 保存する CTRL+X nanoエディターを終了します。

ここで、システムからログアウトし、再度ログインします。シャットダウンオプションとサスペンドオプションとともに、休止状態オプションが表示されます。

便宜上のリンクは次のとおりです。 https://fossbytes.com/enable-disable-hibernate-option-ubuntu-power-menu/

1
plutesci