Два варіанти
Перший варіант (перерахований другий) - перевірити journalctl
можливі повідомлення про помилки, пов’язані зі сплячкою. Якщо перший варіант не дає результатів, другий варіант - створити скрипт для обгортки, який заміняється pm-hibernate
на "сплячий режим".
Створення сценарію Wrapper
Створення сценарію обгортки дозволяє hibernate
замінити pm-hibernate
.
Знайдіть команди каталогів, розташовані в
Перш ніж створювати скрипт для обгортки, потрібно знати, в яких каталогах знаходяться команди hibernate
та pm-hibernate
команди. Використовуйте ці дві команди:
$ 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
Буде сценарій обгортки, який ви хочете створити /usr/sbin/pm-hibernate
. У мене не встановлений hibernate
пакет, тому перший пошук знайде лише утиліту Windows. Відповідно до списку файлів пакунків , він повинен виявити /usr/sbin/hibernate
разом з парою інших файлів.
Резервне копіювання оригінального файлу
Спочатку ми хочемо зробити он-лайн резервну копію вихідного файлу:
sudo cp -a /usr/sbin/pm-hibernate /usr/sbin/pm-hibernate.bak
Далі видаліть вихідний файл:
sudo rm -f /usr/sbin/pm-hibernate
Створіть сценарій обгортки
Примітка: замість обгортка сценарію багато хто знаходить його простіше створити символічне посилання для , pm-hibernate
щоб hibernate
: Як створити м'які або символічні посилання?
Я хотів би використовувати gedit
для редагування , але ви можете замінити його nano
або vim
або який редактор Ви віддаєте перевагу:
sudo -H gedit /usr/sbin/pm-hibernate
З'явиться порожній файл. Вставте в наступні рядки
#!/bin/bash
# Wrapper script to replace pm-hibernate with hibernate package
/usr/sbin/hibernate "$@"
Перетворити скрипт обгортки у виконуваний файл
В даний час сценарій обгортки є звичайним файлом. Нам потрібно перетворити його на виконуваний об’єкт:
sudo chmod a+x /usr/sbin/pm-hibernate
Зараз у нас є оперативний скрипт для обгортки, тому кожен раз, коли pm-hibernate
він викликається, hibernate
виконує замість нього. Як уже згадувалося вгорі, слід переглянути journalctl
перший (описаний далі) перед створенням сценарію обгортки.
Огляд journalctl
Ви можете grep
передати повідомлення про сплячку journalctl
для можливих проблем.
Я не використовую сплячку, але я використовую призупинення. Наступна команда дозволяє мені бачити всі повідомлення, які стосуються suspend
вас, які ви замінили б 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