休止状態を有効にする方法


424

Ubuntu 12.04以降では、policykitでデフォルトで休止状態が無効になっています。これをどのように有効に戻すことができますか?


11
そもそもなぜ無効にしたのですか?音声の損失と関係がありますか?
アリ

2
13.10については、askubuntu.com / questions
361734 /を

4
アリの質問に答えるために、スワップパーティションの問題のために多くの人が冬眠に問題を抱えていたため、無効にされました。ただし、Ubuntu 14.10 Utopic Unicornには、ボタンなどすべてを備えたハイバネーションを正常に機能させる計画があります。
ジョンスコット14年

1
15.04では、この質問が必要になる場合がありますaskubuntu.com/q/614662/178596
Wilf

btrfsパーティションが使用されていると、Hibernateが機能しない場合があります。ここを参照してくださいaskubuntu.com/questions/768136/...
アンワル

回答:


334

この答えは、Ubuntuの13.10で動作しない場合は、参照ここでは代替の答えを


公式文書はこちらから入手できます。Ubuntuで認証されていないマシンでは、12.04で休止状態が無効になりました。

休止状態を有効にするにsudo pm-hibernateは、ターミナルで実行して、休止状態が正しく機能するかどうかをテストする必要があります。システムは休止状態にしようとします。システムを再び起動できる場合は、オーバーライドを追加しても安全です。

これを行うには、編集を開始します。

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

これを記入してください:

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

または14.04以降:

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

[Re-enable hibernate for multiple users by default in logind]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

押して保存しますCtrl- Oそして、enter押してnanoを終了してCtrl- X

再起動して休止状態に戻りました!

またはkillall unity-panel-service、単にメニューをリセットするために実行します。

一部のユーザーはsudo update-grub、電源メニューで休止状態オプションを使用可能にするために実行する必要があります。一部のユーザーは、(右上)電源メニューに表示されるようにするには、少なくともログアウトしてからログインする必要があります。


1
このソリューションは、「代替ステータスメニュー」拡張機能を備えたGNOMEシェル3.4でも機能します。
ロバートウォルファース

1
@ cuda.geekうん、もうGUI全体に煩わされることはありません。この小さなコマンドを入力する方が高速です(エイリアスを使用するとさらに高速になります):)
Aditya MP

15
本当に?これは、このような単純な設定を変更するユーザーフレンドリーなバージョンですか?それは毎日くなっています...-
エステバン

1
素晴らしいチュートリアル!私は窓からubuntuに切り替えて、それを愛していました!あなたの人々は素晴らしいです:)
gfivehost

8
それがエステバンのポイントだとは思いません。休止状態を有効にするために不可解な魔法を必要とすべきではありません。/ etc / defaultディレクトリで、enable_hibernate = "false"からenable_hibernate = "true"に1行変更するものを考えてください。「これは機能しない可能性があり、マシンが適切に起動しない可能性があります」という警告を表示するだけのシステム->設定ダイアログがあると考えてください。
スコットマーロウ

47

まず、休止状態をサポートするマシンをテストする必要があります。次のコマンドでテストします:

 sudo pm-hibernate
 # or for newer Ubuntus like 17.04
 sudo systemctl hibernate

Ubuntu 16.04以降

インターフェースで有効にするには、以下を実行して入力する必要がありますsudo nano /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;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

Ubuntu 14.04および15.04

インターフェイスで有効にするには、sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.confUbuntu 14.04および15.04で実行し、以下を入力する必要があります。

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

[Re-enable hibernate by default for login1]
  Identity=unix-user:*
  Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
  ResultActive=yes

複数のユーザーが存在する可能性があるため、いくつかのスタンザがあります(したがって、login1の代わりに複数のユーザーやマネージャーとしてのupowerに依存しません)

ps:公式の最新ドキュメントhttps://help.ubuntu.com/stable/ubuntu-help/power-hibernate.html


1
Ubuntu 15.04ではうまくいきましたが、最初に受け入れられた答えはそうではありません。
マイクB.

@MikeB。これは、Ubuntu 15.04以降、Ubuntuのコアシステムがsystemdの使用を開始したためです。これは、古い新興企業に代わるものです。上記のコードの「logind」を持つ最後のセクションは、systemdベースのシステム用です。これがあなたの状況に光を当てることを願っています。:D
x__x

ubuntu 16.04で私のために働いた 。唯一の問題は、私が使用して解決した許可拒否エラーsudoでした。
サンディープ

最初のステップのsudo pm-hibernate結果はになりcommand not foundます。私も試しましたがsudo apt install sudo pm-hibernate、これも利用できません。これはバージョンUbuntu 16.04です。
LDジェームズ

あなたの答えはリストの一番上に表示されるべきです。たとえそれがより少ない票を持っているとしても、それは今日のソフトウェアを使用している訪問者にとってより有意義です。
WinEunuuchs2Unix

32

さらに、サスペンドボタンを無効にする(さまざまな理由で)場合は、同様に進めます

任意のファイル名を選択しますが、これは冗長/慣習です。

sudoedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla

これを記入してください:

[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no

Ctrl+ OEnterCtrl+X

再起動する必要はありません。シャットダウンメニューに入るとすぐに消えるはずです。


ResultActive=yes

1
いいえ、これはである必要がありますResultActive=no。答えは、これがサスペンドを無効にすることを指定しています。
マイケルミオール14年

14

もう一つ:

XFCEのパネルに休止状態オプションを追加する場合は、名前(右上)を右クリックしてを選択する必要がありますproperties

その後、画面がポップアップします:

ここに画像の説明を入力してください

必ず、私と同じようにHibernateをチェックしてください。


14

最初に、ラップトップが休止状態をサポートしているかどうかをテストすることをお勧めします。休止状態がデフォルトで無効になっている理由は、一部のマシンで致命的な結果になることがあるためです。マシンをテストする

Ctrl+ Alt+ Tその後sudo pm-hibernate

マシンは休止状態になります。休止状態の後にマシンを起動し、動作が正常かどうかを確認します。冬眠後に異常が発生した場合は、次の手順を続行しないことをお勧めします。ただし、正常に機能する場合は、引き続き休止状態をアクティブにします。

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

開いたファイルを編集して、次の行を追加します。

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

この後、マシンを再起動します。ログインすると、右上の設定コーナーに休止状態オプションが表示されます。


ロールバックが必要な理由

それは間違ってロールバックした
kelvinelove

6

の応答/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklaが私の場合のように機能しない場合は、次の方法でファイルを削除することを忘れないでください。

sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

そして、TuxOnIceを使用してみてください


まず、十分なスワップがあることを確認してください。RAMのサイズと同じか、それより大きくする必要があります。コマンドを使用

free

ルールスワップ>メモリ。そうでない場合は、スワップサイズを大きくします。次に、TuxOnIceをインストールします

sudo add-apt-repository ppa:tuxonice/ppa
sudo apt-get update
sudo apt-get install tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice

その後、次の方法で休止テストを実行してみてください。

sudo pm-hibernate

作業を行う前に作業を保存することを忘れないでください。

すべてうまくいった場合は、コンピューターの電源が切れます。スイッチをオンにすると、休止状態になる前のデスクトップの状態に戻ります。


tuxoniceは私にとっても機能しますが、Ubuntu 14.04のネイティブハイバネーションは何らかの理由で失敗します!
レシェク

5

スクリプトで休止状態を有効にする

上記の回答をbashスクリプトに翻訳しました。これにより、複数のマシンへのインストールの負担が軽減されます。

スクリプトenable-hibernate

#!/bin/bash
#http://askubuntu.com/a/94963/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Enable Hibernate]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
_EOF_
clear
echo
echo 'Hibernate enabled.'
echo

スクリプトdisable-suspend

#!/bin/bash
#http://askubuntu.com/a/154821/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla
[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no
_EOF_
clear
echo
echo 'Suspend disabled.'
echo

注:chmod +x両方のスクリプトを実行可能にすることを忘れないでください。


4

非対話式を除いて、受け入れられた回答とまったく同じことを行う単純なコマンド:

cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
EOF

2

12.04では、インジケーターメニューの休止状態オプションを正常に有効にして休止状態にしました。しかし、それでも休止状態から正常に再開することができませんでした。この問題を解決するには、次の手順を実行しました。

12.04でHibernateを有効にする

Hibernateを有効にするために、Dimaからのこの回答に従いました。

休止状態を有効にした後、休止状態にすることができました。しかし、問題は、休止状態から正常に再開できないことです。休止状態からPCを起動すると、通常の起動のように起動します。したがって、休止状態から再開するには、これらのことを行う必要がありました。

休止状態から再開できる修正

これを修正するには2つの方法があります。

1. /etc/initramfs-tools/conf.d/resumeファイルの編集

  1. まず、スワップパーティションのUUIDを取得します。

     sudo blkid | grep swap
    

    これにより、次のような行が出力されます。

    /dev/sda12: UUID="a14f3380-810e-49a7-b42e-72169e66c432" TYPE="swap"
    

    実際の行はこれと一致しません。"..."二重引用符の間にあるUUIDの値をコピーします。

  2. 履歴書ファイルを開く

    gksudo gedit /etc/initramfs-tools/conf.d/resume
    

    そして、そのファイルに、次のような行を追加します

    RESUME=UUID=a14f3380-810e-49a7-b42e-72169e66c432
    

    手順1で取得した実際のUUID値を置き換えることを忘れないでください。ファイルを保存してgeditを終了します

  3. 次に、ターミナルでこのコマンドを実行します

    sudo update-initramfs -u
    

これで、休止状態から再開できるようになります

2. /etc/default/grubファイルを編集します。

  1. ターミナルを開き、以下のコマンドを実行して開きます

    gksudo gedit / etc / default / grub

  2. のような行があります GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" RESUME=UUID=<your-uuid-value-here>単語の後に挿入する行を編集しsplashます。

    たとえば、私の場合、編集後の行は次のようになります

     GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a14f3380-810e-49a7-b42e-72169e66c432" 
    

    sudo blkid | grep swapコマンドから取得したUUID値を使用したことを確認してください。

  3. 次に、このコマンドを実行します

     sudo update-grub
    

これにより、休止状態から正常に再開することもできます。


2つのUbuntuインストールでテストし、両方とも機能しました


これを別の質問と回答として提出してください。人々は「サスペンドから再開できない」を検索するかもしれませんが、あなたの優れた記事は見つかりません。
ディマ

あなたの提案の後、私はこの自己回答の質問を作成しましたaskubuntu.com/questions/196364/…–
Anwar

0

ノートブックにUbuntu Gnome 17.04 amd64があります。ハイバネーションを有効にするために次のことを行いました。

$ sudo apt-get install hibernateソース

これもインストールしました libx86-1uswsuspvbetool

それから私は首尾よく冬眠できましたsudo systemctl hibernatepm-hibernateパスに実行可能ファイルがありません。

$ sudo nano /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;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

インストール済みhttps://extensions.gnome.org/extension/755/hibernate-status-button/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.