Pertanyaan Ubuntu 16.04 tidak mati setelah menangguhkan atau hibernasi


Sebenarnya pertanyaan saya bisa muncul sama yang satu ini di forum ini (dan juga yang satu ini di tempat lain); memang itu pertanyaan adalah sama, tetapi saya menanyakannya juga karena saya dapat memberikan lebih banyak informasi dan karena saya mencoba solusi yang ditemukan di web (mungkin semakin buruk).

Saya terbiasa hibernate Ubuntu 15.10 (menutup tutupnya). Sekarang saya telah memperbaruinya menjadi 16,04 (saya pikir itu hal yang baik, karena versi ini adalah LTS, tidak seperti 15.10), saya tidak dapat menggunakan hibernasi (atau penangguhan!) Lagi: jika saya mencoba menggunakannya, Ubuntu tidak t ditutup, hanya layar menjadi hitam, led daya menyala, dan saya tidak bisa melakukan apa pun selain mematikannya secara manual (tekan lama tombol daya). Ketika saya menyalakannya lagi, saya melihat baris berikut

enter image description here

kemudian Ubuntu melakukan booting.

Dari sini Saya mencoba dengan

sudo -s
echo shutdown > /sys/power/disk
echo disk > /sys/power/state

dan

sudo -s
echo platform > /sys/power/disk
echo disk > /sys/power/state

Hanya yang pertama yang bekerja sebagian dan hanya sekali: dengan sebagian maksud saya bahwa setelah penutupan yang brutal, sesi itu pulih.

Lalu aku mencoba mengikutinya saran ini. Saya tidak mengerti komentar yang ditulis setelah perintah, jadi saya benar-benar memasukkan perintah sebagaimana adanya (berpikir bahwa beberapa kesalahan seperti "perintah / folder ini tidak ada" akan terjadi jika ada sesuatu untuk menggantikan perintah ):

EDIT

cat /proc/meminfo
sudo swapoff -a
sudo dd if=/dev/zero of=/swapfile bs=1024 count=8M
sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile
sudo -b gedit /etc/fstab
free -m
swapon

mount | grep " / "
sudo blkid -g
sudo blkid
sudo filefrag -v /swapfile | grep "First block:"
sudo filefrag -v /swapfile
echo "resume=UUID=cdXX--X18 resume_offset=66050" | sudo tee /etc/initramfs-tools/conf.d/resume
sudo -b gedit /boot/grub/menu.lst
sudo -b gedit /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="... resume=UUID=cdXX--X18 resume_offset=66050"
sudo update-grub -y
sudo update-initramfs -u

Mungkin ini adalah ide yang buruk, karena sekarang saya mendapatkan ini.

IMG:

Pada akhirnya saya menemukan pertanyaan yang terkait di atas dan saya pergi sini, tapi saya tidak tahu harus berbuat apa.

EDIT 2 Saat ini jika saya masuk

...$ sudo swapon -s

Saya mendapatkan apa-apa

...$

11
2018-05-04 19:59


asal


Mungkin karena BIOS. Di BIOS saya, saya pergi ke Manajemen Daya dan harus ada opsi tentang apa yang harus dilakukan ketika menangguhkan. Biasanya saya adalah S1 tetapi S3 adalah masalahnya. - dat tutbrus
Tusuk dalam gelap di sini tetapi Anda harus menyelidiki pengaturan BIOS Anda dan pergi ke mereka. Dapatkan panduan Anda dan periksa melaluinya. Saya memiliki banyak masalah di masa lalu yang memiliki saklar BIOS sebagai solusinya. - Jonathan
Batalkan gagasan yang sangat buruk. Ini adalah bukti-konsep bagaimana mendapatkan Ubuntu untuk menggunakan ruang swap untuk hibernasi. Sebagai root dengan sudo, hapus baris terakhir yang ditambahkan dari /etc/initramfs-tools/conf.d/resumedan menambahkan dua resume lagi dari etc/default/grub, jalankan dua baris terakhir untuk memperbarui grub dan initrd. Hapus / swapfile. Menjalankan sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target. Coba salah satu target ini dengan sudo systemctl suspend. Apa yang terjadi? - emk2203
Pada akhirnya saya memutuskan untuk menginstal ulang ubuntu 15.10. Sekarang hibernasi berfungsi kembali. Mungkin saya akan menginstal 16.04 pada partisi lain. Ketika saya akan melakukannya, saya akan mengacu pada pertanyaan dan jawaban ini. - Enrico Maria De Angelis


Jawaban:


Memaksa hibernate untuk mematikan mesin:

Setelah mencari-cari lama untuk jawaban untuk ini yang benar-benar mengatasi masalah (tidak terkait), saya menemukan tip sini yang menyelesaikan pekerjaan untuk saya:

Buat file di pm direktori config:

sudo vim /etc/pm/config.d/hibernate_mode

yang menentukan variabel HIBERNATE_MODE seperti ini:

HIBERNATE_MODE="shutdown"

Setelah melakukan ini, hibernate mematikan mesin saat penyelesaian seperti yang diharapkan. Penjelasan untuk pengaturan apa HIBERNATE_MODE Apakah dalam manual untuk pm-hibernasi:

Metode default untuk mematikan sistem saat   berhibernasi. Jika tidak disetel, sistem akan menggunakan default kernel sebagai a   nilai default. Periksa / sys / power / disk untuk nilai yang valid. Defaultnya   nilai akan dikelilingi oleh [kurung siku].

Default saya di file itu platform. Menetapkan variabel di atas menjadi shutdown mengesampingkan ini, dan mendapatkan apa yang kita inginkan terjadi.

Informasi terkait dan tips untuk membuat hibernate berfungsi dengan benar:

Adapun "masalah terkait" yang sepertinya dimiliki semua orang dengan tips cepat debug dan berhibernasi:

  1. Periksa perintah itu sudo pm-hibernate sebenarnya melakukan sesuatu. Jika tidak, tidak satu pun dari tips lain ini akan membuat perbedaan. Jika tidak berhasil, pastikan 1) ukuran partisi swap Anda lebih besar dari RAM Anda dan 2) boot aman dinonaktifkan di BIOS Anda.

  2. Hanya sekali perintah itu berfungsi, lihat mengintegrasikan hibernate ke dalam sistem Anda sesukamu. Beberapa yang umum:

    • Tambahkan hibernate ke menu Ubuntu:  Ini tampaknya menjadi jawaban terbaik untukku. Dokumentasi resmi juga memiliki versi yang sedikit berbeda.
      Catatan: setelah hibernate ditambahkan ke menu Ubuntu, Anda mungkin juga perlu memperbaiki panggilan alternatif sudo systemctl hibernate. Rupanya, (setidaknya untuk Ubuntu 16.04) opsi menu Ubuntu memanggil sudo systemctl hibernate dari pada sudo pm-hibernate. systemctl hibernate telah diperbaiki untuk saya dengan menambahkan konten berikut ke file /etc/systemd/sleep.conf:

      [Tidur]
        HibernateMode = shutdown

      Jika file belum ada, Anda dapat membuatnya. Info lebih lanjut sini.

    • Ubah perilaku tombol daya (secara default ditampilkan dalam menu interaktif): Untuk mengubahnya menjadi hibernate langsung, atau shutdown Anda perlu memodifikasi yang terkait gsettings masuk. Banyak jawaban lain melalui cara GUI jika itu mengapung perahu Anda. Untuk melihat opsi yang tersedia digunakan gsettings range org.gnome.settings-daemon.plugins.power button-power


5
2017-10-15 05:45





Dengan melihat gambar terakhir Anda dan EDIT 2Saya dapat mengerti bahwa Ubuntu tidak dapat menemukan Partisi Swap pada sistem Anda. Jadi saya sarankan Anda harus membuat partisi Swap yang sama dengan atau lebih besar dari ukuran RAM Anda, dan coba lagi dengan menjalankan

sudo pm-hibernate

Anda dapat membuat partisi swap menggunakan GParted, jalankan ini untuk menginstalnya

sudo apt-get install gparted

2
2018-05-16 05:58





Saya mengalami masalah yang sama setelah meningkatkan dari 15.10 ke 16.04:

  • Menutup tutupnya tidak melakukan apa-apa
  • Secara manual menangguhkan dengan item menu di baki sistem menghasilkan keadaan setengah ditangguhkan dengan satu-satunya jalan keluar untuk mengatur ulang sistem.

Saya memecahkan masalah ini dengan

  1. upgrade kernel ke 4.4.8 (setelah ini menangguhkan dari menu bekerja untuk saya)
  2. Menambahkan garis HandleLidSwitchDocked=suspend ke /etc/systemd/logind.conf (yang membuat saklar tutup untuk bekerja kembali).

Saya pikir kedua masalah adalah bug yang harus diperbaiki (https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1574120).


2
2018-05-17 11:54



Apakah ini memecahkan masalah untuk penangguhan saja, atau juga untuk hibernasi? - Enrico Maria De Angelis


Hibernate telah dinonaktifkan secara default.

Coba ini

sudo pm-hibernate

Jika tes hibernate berfungsi, Anda dapat terus menggunakan sudo   perintah pm-hibernate ketika Anda ingin hibernate.

Anda juga dapat mengaktifkan opsi hibernasi di menu. Untuk melakukan itu, gunakan   editor teks favorit Anda untuk membuat   /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla.   Tambahkan yang berikut ke file dan simpan:

[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

Baca Lebih Lanjut tentang Hibernasi 16.04 dari tautan ini

Untuk Shutdown

sudo shutdown -h now

Untuk Restart

sudo shutdown -r now

0
2018-05-12 07:22



Seperti yang saya tulis, sudo pm-hibernate digunakan untuk bekerja dengan sangat baik sebelum memutakhirkan formulir 15.10 hingga 16.04LTS. Jadi masalahnya harus menyangkut versi 16.04LTS. Selain itu, mungkin saya melakukan sesuatu yang sangat salah dengan mengikuti instruksi tanpa memahami mereka. Bisakah Anda membantu saya memperbaiki masalah ini? - Enrico Maria De Angelis