Bagaimana cara mengaktifkan hibernasi?


424

Di Ubuntu 12.04 dan yang lebih baru, hibernasi telah dinonaktifkan secara default di policykit . Bagaimana saya bisa mengaktifkan ini kembali?


11
Mengapa mereka menonaktifkannya? Apakah ada hubungannya dengan kehilangan audio?
Ali


4
Untuk menjawab pertanyaan Ali, itu dinonaktifkan karena banyak orang mengalami masalah hibernasi karena masalah dengan partisi swap mereka. Namun, di Ubuntu 14.10 Utopic Unicorn, ada rencana untuk membuat hibernasi bekerja dengan baik, dengan tombol dan segalanya.
John Scott

1
Untuk 15,04, Anda mungkin perlu pertanyaan ini askubuntu.com/q/614662/178596
Wilf

Hibernasi mungkin tidak berfungsi saat btrfspartisi digunakan. Lihat di sini askubuntu.com/questions/768136/…
Anwar

Jawaban:


334

Jika jawaban ini tidak berfungsi di Ubuntu 13.10, lihat di sini untuk jawaban alternatif


Anda dapat mengikuti dokumentasi resmi di sini . Hibernasi dinonaktifkan pada 12,04 untuk mesin yang tidak disertifikasi dengan Ubuntu.

Untuk mengaktifkan hibernasi, Anda perlu menguji apakah berfungsi dengan benar dengan berjalan sudo pm-hibernatedi terminal. Sistem akan mencoba melakukan hibernasi. Jika Anda dapat memulai sistem lagi maka Anda lebih atau kurang aman untuk menambahkan penggantian.

Untuk melakukannya, mulailah mengedit:

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

Isi dengan ini:

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

Atau dalam 14,04 dan yang lebih baru:

[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

Simpan dengan menekan Ctrl- Okemudian enterdan kemudian keluar nano dengan menekan Ctrl- X.

Mulai ulang dan hibernasi kembali!

Atau jalankan killall unity-panel-serviceuntuk hanya mengatur ulang menu.

Beberapa pengguna kemudian harus menjalankan sudo update-grubuntuk mendapatkan opsi hibernasi tersedia di menu daya. Beberapa pengguna mungkin juga harus setidaknya keluar kemudian masuk untuk membuatnya muncul di menu daya (kanan atas).


1
Solusi ini juga berfungsi di GNOME shell 3.4 dengan ekstensi "Alternative Status Menu".
Robert Wohlfarth

1
@ cuda.geek ya, tidak akan repot dengan hal gui lagi, mengetik perintah kecil ini lebih cepat (bahkan lebih cepat dengan alias ...) :)
Aditya MP

15
Benarkah? Apakah ini versi yang lebih ramah dari pengguna untuk mengubah pengaturan sederhana seperti itu? Semakin buruk setiap hari ...
Esteban

1
Tutorial yang luar biasa! Saya telah beralih dari windows ke ubuntu, dan menyukainya! Anda semua luar biasa :)
gfivehost

8
Saya kira itu bukan poin Esteban. Seharusnya tidak memerlukan sihir misterius untuk mengaktifkan hibernate. Pikirkan sesuatu di direktori / etc / default tempat Anda mengubah satu baris dari enable_hibernate = "false" menjadi enable_hibernate = "true". Bayangkan memiliki dialog pengaturan sistem> yang hanya memungkinkan Anda menyalakannya dengan peringatan "ini mungkin tidak berfungsi, mesin Anda mungkin tidak bangun dengan benar."
Scott Marlowe

47

Pertama, Anda perlu menguji mesin Anda mendukung hibernasi. Uji dengan perintah:

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

Ubuntu 16.04 dan lebih tinggi

Untuk mengaktifkan antarmuka Anda harus menjalankan sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkladan mengisi dengan:

[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 dan 15.04

Untuk mengaktifkan di antarmuka Anda harus menjalankan sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.confuntuk Ubuntu 14.04 dan 15.04 dan isi dengan:

[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

Ini memiliki beberapa bait karena Anda mungkin memiliki beberapa pengguna (sehingga tidak tergantung pada beberapa pengguna atau lebih tinggi sebagai pengelola daripada login1)

ps: dokumentasi terbaru resmi https://help.ubuntu.com/stable/ubuntu-help/power-hibernate.html


1
Ini bekerja untuk saya di Ubuntu 15.04 , sedangkan jawaban yang diterima asli tidak.
Mike B.

@MikeB. Ini bekerja karena sejak Ubuntu 15.04, sistem inti Ubuntu mulai menggunakan systemd- pengganti yang lebih baru untuk pemula baru. Bagian terakhir dalam kode di atas memiliki "logind" adalah untuk sistem berbasis systemd. Semoga ini menjelaskan situasi Anda. : D
x__x

Bekerja untuk saya di ubuntu 16.04 . Satu-satunya masalah adalah izin ditolak kesalahan yang saya pecahkan menggunakan sudo.
Sandeep

Langkah pertama sudo pm-hibernatemenghasilkan command not found. Saya juga mencoba sudo apt install sudo pm-hibernate, yang juga tidak tersedia. Ini adalah versi Ubuntu 16.04.
LD James

Jawaban Anda akan muncul di bagian atas daftar, meskipun memiliki lebih sedikit suara tetapi lebih bermakna bagi pengunjung yang menggunakan perangkat lunak saat ini.
WinEunuuchs2Unix

32

Selain itu, bagi mereka yang ingin menonaktifkan tombol tunda (karena berbagai alasan), lanjutkan secara analog ...

Pilih nama file apa pun, tetapi ini adalah verbose / konvensi:

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

Isi dengan ini:

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

Ctrl+ O, Enter, Ctrl+X

Tidak perlu restart, itu harus hilang segera setelah Anda masuk ke menu shutdown.


Maksud Anda:ResultActive=yes

1
Tidak, ini seharusnya ResultActive=no. Jawabannya menentukan bahwa ini untuk menonaktifkan penangguhan.
Michael Mior

14

Satu hal lagi:

Ketika Anda ingin menambahkan opsi hibernasi ke panel XFCE , Anda harus mengklik kanan nama Anda (kanan atas) dan pilih properties.

Setelah itu muncul layar:

masukkan deskripsi gambar di sini

Pastikan, Anda memeriksa Hibernate seperti yang saya lakukan.


14

Pertama, saya merekomendasikan Anda untuk menguji apakah laptop Anda mendukung hibernasi, karena alasan mengapa hibernasi dinonaktifkan secara default adalah karena kadang-kadang memiliki hasil fatal pada beberapa mesin. Uji mesin Anda dengan

Ctrl+ Alt+ Tlalusudo pm-hibernate

Mesin Anda harus hibernasi. Bangunkan mesin Anda setelah hibernasi dan amati apakah ia melakukan kesalahan atau jika ia bekerja secara normal. Jika Anda mengalami kelainan setelah hibernasi, maka saya sarankan Anda tidak melanjutkan dengan prosedur berikut. Namun, jika itu berfungsi dengan baik, terus aktifkan hibernasi dengan

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

Edit file yang dibuka dan tambahkan baris ini:

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

Setelah ini, hidupkan ulang mesin Anda, dan saat login, Anda akan melihat opsi hibernasi di sudut pengaturan kanan atas.


Mengapa kembalikan?

itu adalah kemunduran yang keliru
kelvinelove

6

Jika respons dengan /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklatidak berfungsi seperti pada kasus saya, jangan lupa menghapus file dengan:

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

Dan coba gunakan TuxOnIce .


Pertama, pastikan Anda memiliki cukup swap. Ukurannya harus sama atau lebih besar dari jumlah RAM Anda. Gunakan perintah

free

aturan Swap> Mem. Jika bukan ini masalahnya, perbesar ukuran swap Anda. Kemudian instal TuxOnIce oleh

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

Kemudian Anda dapat mencoba melakukan uji hibernasi yang dijalankan oleh:

sudo pm-hibernate

Jangan lupa untuk menyimpan pekerjaan Anda sebelum melakukannya.

Jika semuanya baik-baik saja, komputer Anda akan mati. Setelah menyalakannya, Anda akan mendapatkan desktop dalam kondisi yang tersisa sebelum hibernasi.


tuxonice juga berfungsi untuk saya, sementara hibernasi asli Ubuntu 14.04 gagal karena beberapa alasan!
Leszek

5

Mengaktifkan hibernasi dengan skrip

Saya telah menerjemahkan jawaban di atas untuk bashskrip. Ini membuat instalasi pada beberapa mesin menjadi tidak terlalu membosankan.

Skrip 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

Skrip 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

Catatan: Jangan lupa chmod +xkedua skrip untuk membuatnya dapat dieksekusi.


4

Perintah sederhana yang melakukan hal yang sama persis dengan jawaban yang diterima kecuali non-interaktif:

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

Pada 12,04, saya berhasil mengaktifkan opsi hibernasi di menu indikator untuk hibernasi. Tetapi saya masih tidak berhasil melanjutkan dari hibernate. Saya memang mengikuti langkah-langkah ini untuk memperbaiki masalah ini:

Aktifkan Hibernate dalam 12,04

Untuk mengaktifkan Hibernate, saya mengikuti jawaban ini dari Dima.

Setelah mengaktifkan hibernasi, saya bisa hibernasi. Tetapi masalahnya adalah, saya tidak bisa berhasil melanjutkan dari hibernate. Setiap kali saya memulai PC saya dari hibernate, boot seperti boot normal. Jadi, saya harus melakukan hal-hal ini untuk dapat melanjutkan dari hibernate.

Perbaikan untuk dapat melanjutkan dari hibernasi

Ada dua cara untuk memperbaikinya.

1. Mengedit /etc/initramfs-tools/conf.d/resumefile

  1. Pertama dapatkan UUID dari partisi swap.

     sudo blkid | grep swap
    

    Ini akan menghasilkan garis yang mirip dengan ini:

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

    Baris sebenarnya tidak akan cocok dengan ini. Salin nilai UUID di antara "..."penawaran ganda.

  2. Buka file resume

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

    Dan di file itu, tambahkan baris seperti ini

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

    Jangan lupa untuk mengganti nilai UUID aktual yang Anda dapatkan dari langkah 1. Simpan file dan keluar dari gedit

  3. Kemudian di terminal, jalankan perintah ini

    sudo update-initramfs -u
    

Anda sekarang dapat melanjutkan dari hibernasi

2. Mengedit /etc/default/grubfile.

  1. Buka terminal dan jalankan perintah di bawah ini untuk membukanya

    gksudo gedit / etc / default / grub

  2. Akan ada garis seperti GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" . Edit baris untuk disisipkan RESUME=UUID=<your-uuid-value-here>setelah kata splash.

    Misalnya dalam kasus saya, garis terlihat seperti ini setelah diedit

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

    Pastikan, Anda menggunakan nilai UUID yang Anda dapatkan dari sudo blkid | grep swapperintah.

  3. Kemudian lakukan perintah ini

     sudo update-grub
    

Ini juga memungkinkan Anda untuk berhasil dilanjutkan dari hibernasi.


Diuji pada dua instalasi Ubuntu, keduanya bekerja


ajukan ini sebagai pertanyaan & jawaban yang terpisah. Karena orang mungkin mencari "gagal melanjutkan dari penangguhan" dan tidak menemukan tulisan Anda yang bagus.
Dima

Setelah saran Anda, saya membuat pertanyaan yang dijawab sendiri ini askubuntu.com/questions/196364/…
Anwar

0

Saya memiliki Ubuntu Gnome 17.04 amd64 di notebook saya. Saya melakukan yang berikut ini untuk mengaktifkan hibernasi:

$ sudo apt-get install hibernate( sumber )

Ini diinstal juga libx86-1uswsuspvbetool

Kemudian saya bisa berhibernasi dengan sukses sudo systemctl hibernate. Tidak ada yang pm-hibernatedapat dieksekusi di jalur saya.

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

Dimasukkan: ( sumber )

[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

Dipasang https://extensions.gnome.org/extension/755/hibernate-status-button/

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.