12.04以降、ハイバネーションを有効にするポリシーキットルールを追加する必要があることを知っています(質問 ハイバネーションを有効にする方法 および 公式ドキュメント を参照)。
Sudo pm-hibernate
またはSudo s2disk
を使用してラップトップを正常に休止状態モードにすることができるため、ルールは適切に機能しますが、休止状態エントリはメニューにまだありません。
インジケーターセッションパッケージのソース(ただし、コード全体を理解していない)を調べると、コード内にまだ休止状態メニューエントリがあり、システムが休止状態になったときに表示されることがわかります。これに激怒したら落ち着いてください。 これは陰謀である可能性は非常に低く、むしろ、コードを移動したり置き換えたりするときに発生する可能性のある、より深いレベルでのバグ/回帰です。
質問:システムが休止状態にできることをindicator-session
に正しく伝えるために13.10で何をする必要がありますか?
可能性のある重複: ハイバネーションはまだ利用できません -アクティビティはありません。saucyが当時開発中であったため、AskUbuntuの範囲外です。
関連バグレポート: https://bugs.launchpad.net/ubuntu/+source/indicator-session/+bug/1232814
ミッチは、14.04および16.04の回答で、何かを変更する前に10-vendor.d/com.ubuntu.desktop.pkla
をチェックする必要があると指摘しています。また、セキュアブートが無効になっていることと、それがメニューオプションに戻ることを確認します。
メニューの休止状態オプションを再度有効にするには、/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
をsaucy(13.10)で次のように変更する必要があります。
[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
ResultActive=yes
その後、再起動するか、セッションでkillall indicator-session-service
を実行すると、休止状態機能/メニューオプションが元に戻ります。ファイルがまだ存在しない場合は作成します。
Jeffery ToのLaunchpadへの投稿からの引用 バグレポート#1232814 :
Saucyでは、inpower-sessionはupowerではなくlogind(org.freedesktop.login1)を使用するように更新されました。
/var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pklaをチェックすると、upowerとlogindの両方で休止状態がデフォルトで無効になっていることがわかります。
したがって、Hibernateオプションを再度有効にする最初のステップは、/ etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklaを次のように編集することです。
[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 ResultActive=yes
再起動後、ログイン画面のセッションメニューにHibernateオプションが表示されます。
[...]
すべての感謝とクレジットはJefferyに送られます!
Launchpadには、どのハードウェアがどの電力モードに対して「認証」するかを追跡するのではなく、サスペンド/ハイバネートを無効にすることを提案するバグレポートがあります。よりスケーラブルなアプローチであると主張されています。
言及すべきもう1つのことは、UEFIセキュアブートと休止状態を使用することは可能に見えますが、前者を回避するリスクになる可能性があることです。 ( 1 、 2 )念のため、ハイバネーションを使用する場合、RAMのすべてを暗号化せずにディスクに保存します。これには、暗号化されたファイルシステムのパスワードとコンテナ。
16.04のある時点で、ラップトップを休止状態にするためにセキュアブートを無効にする必要がありました。私の場合、uswsuspを使用し、s2diskでテストすると以下のメッセージが返されました。これにより、他のすべてが設定されているにもかかわらず休止状態にできない問題がセキュアブートに関連しているというヒントが得られる場合があります。
s2disk: Could not open the snapshot device. Reason: Operation not permitted
ただし、これは文句を言う場所ではないことを理解してください。ニースにしてください。
それでも休止状態を機能させるのに問題がある場合は、 このバグレポートのコメント#58 を確認してください。
私はubuntu gnome 13.10で回避策を見つけました:hibernateをインストールするだけです:
Sudo apt-get install hibernate
唯一の問題は、通常の電源オフ後の起動時にapportが3つのエラーを発行することです。このために、apportを無効にできます。
Sudo -H gedit /etc/default/apport
次に、
enabled=0
を変更します。設定を休止状態から変更するには、
/etc/hibernate
のファイルを編集します。
Hibernateパッケージをインストールすると適切な変更が加えられるようで、ubuntu gnome 13.10 x64で非常にうまく機能しました
前の手順を実行してもまだ機能しない場合は、/etc/pm/sleep.d/20_custom-ehci_hcd
を次のように変更することをお勧めします。
[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
ResultActive=yes
動作させるには、上記の手順に従って休止状態オプションを有効にします。これは本当にうまくいきました。
最後に、「[Re-enable hibernate ... ]
」で2つのファイルを編集します。これを試してください。あなたがubuntu 13.10を使用している場合、それは確かに動作します
ここで追加したいことの1つは、AFAICRで、マウントされていないスワップパーティションです。スワップパーティションがマウントされていない場合、休止状態の設定に関係なく、休止状態オプションは表示/有効化されません。
また、スワップパーティションが自動マウントされない場合、休止状態のセッションは失われます。