Ubuntu 16.04 tidak mati setelah ditunda atau hibernasi

14

Sebenarnya pertanyaan saya dapat terlihat identik dengan yang ini di forum ini (dan juga yang ini di tempat lain ); memang pertanyaannya sama, tetapi saya tetap bertanya karena saya dapat memberikan lebih banyak informasi dan karena saya mencoba beberapa solusi yang ditemukan di web (mungkin memperburuk keadaan).

Saya dulu hibernate Ubuntu 15.10 (menutup tutupnya). Sekarang saya telah memperbarui ke 16,04 (saya pikir itu hal yang baik, karena versi ini LTS, tidak seperti 15.10), saya tidak dapat menggunakan hibernasi (atau suspensi!) Lagi: jika saya mencoba menggunakannya, Ubuntu tidak t mati, 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

masukkan deskripsi gambar di sini

lalu Ubuntu boot.

Dari sini saya mencoba

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 sebagian bekerja dan hanya satu kali: yang saya maksudkan adalah bahwa setelah penutupan brutal sesi pulih.

Kemudian saya mencoba mengikuti 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 dalam 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 ide yang buruk, karena sekarang saya mengerti.

IMG:

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

EDIT 2 Saat ini jika saya masuk

...$ sudo swapon -s

Saya sama sekali tidak mendapatkan apa pun

...$
Enrico Maria De Angelis
sumber
Mungkin karena BIOS. Di BIOS saya, saya pergi ke Manajemen Daya dan harus ada opsi tentang apa yang harus dilakukan ketika menunda. Biasanya milikku S1 tetapi S3 adalah masalahnya.
dat tutbrus
Tusuk dalam kegelapan di sini, tetapi Anda harus menyelidiki pengaturan BIOS Anda dan pergi ke sana. Keluarkan manual Anda dan periksa. Saya memiliki masalah yang tak terhitung di masa lalu yang memiliki saklar BIOS sebagai solusinya.
Jonathan
1
Membatalkan ide yang sangat buruk. Ini adalah bukti konsep bagaimana membuat Ubuntu menggunakan ruang swap untuk hibernasi. Sebagai root dengan sudo, hapus baris terakhir yang ditambahkan dari /etc/initramfs-tools/conf.d/resumedan dua resume resume dari etc/default/grub, jalankan dua baris terakhir untuk memperbarui grub dan initrd. Hapus / tukar file. Lari sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target. Coba salah satu dari target ini dengan sudo systemctl suspend. Apa yang terjadi?
emk2203
Pada akhirnya saya memutuskan untuk menginstal ulang ubuntu 15.10. Sekarang hibernasi berfungsi lagi. Mungkin saya akan menginstal 16.04 di partisi lain. Ketika saya akan melakukannya, saya akan merujuk pada pertanyaan dan jawaban ini.
Enrico Maria De Angelis

Jawaban:

6

Memaksa hibernasi untuk mematikan mesin:

Setelah mencari-cari jawaban untuk hal ini yang sebenarnya membahas masalah (bukan yang terkait), saya menemukan tip di sini yang menyelesaikan pekerjaan untuk saya:

Buat file di pmdirektori config:

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

yang menetapkan variabel HIBERNATE_MODEseperti:

HIBERNATE_MODE="shutdown"

Setelah melakukan ini, hibernasi mematikan mesin saat selesai seperti yang diharapkan. Penjelasan untuk pengaturan apa yang HIBERNATE_MODEada di manual untuk pm-hibernate :

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

Default saya di file itu adalah platform. Mengatur variabel di atas untuk shutdownmengabaikan ini, dan mendapatkan apa yang kita inginkan terjadi.

Informasi dan tips terkait agar hibernate berfungsi dengan benar:

Adapun "masalah terkait" yang tampaknya dimiliki semua orang dengan kiat debugging hibernasi dan cepat:

  1. Periksa apakah perintah sudo pm-hibernatebenar-benar melakukan sesuatu. Jika tidak, tidak ada tips lain yang akan membuat perbedaan. Jika tidak berhasil, pastikan 1) ukuran partisi swap Anda lebih besar daripada RAM Anda dan 2) boot aman dinonaktifkan di BIOS Anda.

  2. Hanya sekali perintah itu berfungsi, lihat mengintegrasikan hibernasi ke sistem Anda sesuka Anda. Beberapa yang umum:

    • Tambahkan hibernasi ke menu Ubuntu: Ini sepertinya jawaban terbaik untuk saya. Dokumentasi resmi juga memiliki versi yang sedikit berbeda.
      Catatan: setelah hibernasi ditambahkan ke menu Ubuntu, Anda mungkin juga perlu memperbaiki panggilan alternatif sudo systemctl hibernate. Rupanya, (setidaknya untuk Ubuntu 16.04), pilihan menu Ubuntu memanggil sudo systemctl hibernatealih-alih sudo pm-hibernate. systemctl hibernatediperbaiki 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 di sini .

    • Ubah perilaku tombol daya (secara default ditampilkan di menu interaktif): Untuk mengubahnya langsung hibernasi, atau shutdown, Anda perlu mengubah entri pengaturan terkait . Banyak jawaban lain melalui cara GUI jika itu mengapungkan perahu Anda. Untuk melihat opsi yang tersedia gunakangsettings range org.gnome.settings-daemon.plugins.power button-power

BT
sumber
2

Dengan melihat gambar terakhir Anda dan EDIT 2 , saya dapat memahami bahwa Ubuntu tidak dapat menemukan Partisi Swap di sistem Anda. Jadi saya sarankan Anda harus membuat partisi Swap 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
DigiGoon
sumber
2

Saya memiliki masalah yang sama setelah memutakhirkan dari 15,10 menjadi 16,04:

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

Saya memecahkan masalah ini dengan

  1. memutakhirkan kernel ke 4.4.8 (setelah penangguhan dari menu ini berhasil bagi saya)
  2. Menambahkan baris HandleLidSwitchDocked=suspendke /etc/systemd/logind.conf (yang membuat tutup saklar berfungsi kembali).

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

penguinwizzard
sumber
Apakah ini menyelesaikan masalah suspensi saja, atau juga untuk hibernasi?
Enrico Maria De Angelis
0

Hibernate telah dinonaktifkan secara default.

Coba ini

sudo pm-hibernate

Jika uji hibernasi berfungsi, Anda dapat terus menggunakan perintah sudo pm-hibernate saat Anda ingin hibernasi.

Anda juga dapat mengaktifkan opsi hibernasi di menu. Untuk melakukannya, 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
jarvis
sumber
Seperti yang saya tulis, sudo pm-hibernate digunakan untuk bekerja dengan sangat baik sebelum memperbarui formulir 15.10 ke 16.04LTS. Jadi masalahnya harus menyangkut versi 16.04LTS. Selain itu, mungkin saya melakukan sesuatu yang sangat salah mengikuti instruksi tanpa memahaminya. Bisakah Anda membantu saya memperbaiki masalah ini?
Enrico Maria De Angelis