Dua pilihan
Opsi pertama (terdaftar kedua) adalah untuk meninjau journalctl
kemungkinan pesan kesalahan terkait dengan hibernasi. Jika opsi pertama tidak menghasilkan hasil, opsi kedua adalah membuat skrip wrapper yang menggantikan pm-hibernate
dengan `hibernate.
Buat skrip Wrapper
Membuat skrip pembungkus memungkinkan hibernate
untuk menggantipm-hibernate
.
Temukan direktori perintah berada di
Sebelum membuat skrip wrapper, Anda perlu mengetahui direktori hibernate
dan pm-hibernate
perintah yang berada. Gunakan dua perintah ini:
$ locate bin/hibernate
/mnt/c/Program Files (x86)/CyberPower PowerPanel Business Edition/bin/hibernate.dll
$ locate bin/pm-hibernate
/mnt/clone/usr/sbin/pm-hibernate
/mnt/old/usr/sbin/pm-hibernate
/usr/sbin/pm-hibernate
Script wrapper yang ingin Anda buat akan menjadi /usr/sbin/pm-hibernate
. Saya tidak memiliki hibernate
paket yang diinstal sehingga pencarian pertama hanya menemukan utilitas Windows. Menurut daftar file paket , itu harus mengungkapkan/usr/sbin/hibernate
bersama dengan beberapa file lainnya.
Cadangkan file asli
Pertama, kami ingin membuat salinan cadangan online dari file asli:
sudo cp -a /usr/sbin/pm-hibernate /usr/sbin/pm-hibernate.bak
Selanjutnya hapus file asli:
sudo rm -f /usr/sbin/pm-hibernate
Buat skrip wrapper
Catatan: alih-alih skrip pembungkus, banyak orang merasa lebih mudah membuat tautan simbolik pm-hibernate
ke hibernate
: Bagaimana cara membuat tautan lunak atau simbolik?
Saya suka menggunakan gedit
untuk mengedit tetapi Anda dapat menggantinya dengan nano
atau vim
atau editor mana pun yang Anda inginkan:
sudo -H gedit /usr/sbin/pm-hibernate
File kosong akan muncul. Tempel di baris berikut
#!/bin/bash
# Wrapper script to replace pm-hibernate with hibernate package
/usr/sbin/hibernate "$@"
Ubah skrip wrapper menjadi executable
Saat ini skrip wrapper adalah file biasa. Kita perlu mengubahnya menjadi objek yang dapat dieksekusi:
sudo chmod a+x /usr/sbin/pm-hibernate
Kami sekarang memiliki skrip pembungkus operasional sehingga setiap kali pm-hibernate
disebut hibernate
berjalan sebagai gantinya. Seperti yang disebutkan di atas, Anda harus meninjaujournalctl
dulu (dijelaskan berikutnya) sebelum membuat skrip wrapper.
Ulasan journalctl
Anda dapat grep
mengirim pesan hibernasi kejournalctl
untuk kemungkinan masalah.
Saya tidak menggunakan hibernasi tetapi saya menggunakan menunda. Perintah berikut memungkinkan saya untuk melihat semua pesan suspend
yang ingin Anda gantikan dengan hibernate
:
$ journalctl -b | grep -i suspend
Oct 09 22:26:33 alien eyesome[21740]: Lid Open/Close: Wait 3 seconds to see if suspending
Oct 09 22:26:48 alien systemd[1]: Starting TLP suspend/resume...
Oct 09 22:26:48 alien systemd[1]: Started TLP suspend/resume.
Oct 09 22:26:48 alien systemd[1]: Starting Suspend...
Oct 09 22:26:48 alien systemd-sleep[22938]: /lib/systemd/system-sleep/sound: Going to suspend...
Oct 09 22:26:48 alien eyesome[22952]: Wakeup: Going to suspend. Creating: /tmp/eyesome-is-suspending
Oct 09 22:26:49 alien systemd-sleep[22938]: Suspending system...
Oct 10 04:26:38 alien kernel: PM: Suspending system (mem)
Oct 10 04:26:38 alien kernel: Suspending console(s) (use no_console_suspend to debug)
Oct 10 04:26:38 alien kernel: PM: suspend of devices complete after 1142.044 msecs
Oct 10 04:26:38 alien kernel: PM: late suspend of devices complete after 19.766 msecs
Oct 10 04:26:38 alien kernel: PM: noirq suspend of devices complete after 61.505 msecs
Oct 10 04:26:38 alien kernel: Suspended for 21583.011 seconds
Oct 10 04:26:38 alien eyesome[23137]: Lid Open/Close: Wait 3 seconds to see if suspending
Oct 10 04:26:38 alien systemd-sleep[22938]: /lib/systemd/system-sleep/sound: Waking up from suspend...
Oct 10 04:26:38 alien eyesome[23168]: Wakeup: Called from suspend.
Oct 10 04:26:41 alien systemd[1]: Started Suspend.
Oct 10 04:26:41 alien systemd[1]: Stopping TLP suspend/resume...
Oct 10 04:26:41 alien systemd[1]: Reached target Suspend.
Oct 10 04:26:41 alien systemd[1]: suspend.target: Unit is bound to inactive unit systemd-suspend.service. Stopping, too.
Oct 10 04:26:41 alien systemd[1]: Stopped target Suspend.
Oct 10 04:26:42 alien systemd[1]: Stopped TLP suspend/resume.
Oct 10 04:26:52 alien eyesome[24459]: Daemon: Removed file: /tmp/eyesome-is-suspending
Oct 10 05:47:09 alien eyesome[12434]: Lid Open/Close: Wait 3 seconds to see if suspending
Oct 10 05:51:43 alien systemd[1]: Starting TLP suspend/resume...
Oct 10 05:51:44 alien systemd[1]: Started TLP suspend/resume.
Oct 10 05:51:44 alien systemd[1]: Starting Suspend...
Oct 10 05:51:44 alien systemd-sleep[28353]: /lib/systemd/system-sleep/sound: Going to suspend...
Oct 10 05:51:44 alien eyesome[28367]: Wakeup: Suspending. Creating /tmp/eyesome-is-suspending
Oct 10 05:51:45 alien systemd-sleep[28353]: Suspending system...
Oct 10 16:30:59 alien kernel: PM: Suspending system (mem)
Oct 10 16:30:59 alien kernel: Suspending console(s) (use no_console_suspend to debug)
Oct 10 16:30:59 alien kernel: PM: suspend of devices complete after 623.519 msecs
Oct 10 16:30:59 alien kernel: PM: late suspend of devices complete after 19.654 msecs
Oct 10 16:30:59 alien kernel: PM: noirq suspend of devices complete after 61.549 msecs
Oct 10 16:30:59 alien kernel: Suspended for 38348.943 seconds
Oct 10 16:30:59 alien eyesome[28563]: Lid Open/Close: Wait 3 seconds to see if suspending
Oct 10 16:30:59 alien systemd-sleep[28353]: /lib/systemd/system-sleep/sound: Waking up from suspend...
Oct 10 16:30:59 alien eyesome[28599]: Wakeup: Called from suspend.
Oct 10 16:31:02 alien systemd[1]: Started Suspend.
Oct 10 16:31:02 alien systemd[1]: Stopping TLP suspend/resume...
Oct 10 16:31:02 alien systemd[1]: Reached target Suspend.
Oct 10 16:31:02 alien systemd[1]: suspend.target: Unit is bound to inactive unit systemd-suspend.service. Stopping, too.
Oct 10 16:31:02 alien systemd[1]: Stopped target Suspend.
Oct 10 16:31:03 alien systemd[1]: Stopped TLP suspend/resume.
Oct 10 16:31:13 alien eyesome[30020]: Daemon: Removed file: /tmp/eyesome-is-suspending