Duas opções
A primeira opção (listada em segundo lugar) é revisar journalctl
para possíveis mensagens de erro relacionadas à hibernação. Se a primeira opção não produzir resultados, a segunda opção é criar um script wrapper que substitua pm-hibernate
por 'hibernate.
Criar script de wrapper
A criação de um script de wrapper permite que hibernate
substitua pm-hibernate
.
Encontrar comandos de diretórios localizados em
Antes de criar o script de wrapper, você precisa saber quais diretórios os comandos hibernate
e pm-hibernate
residem. Use estes dois comandos:
$ 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
O script de wrapper que você deseja criar será /usr/sbin/pm-hibernate
. Eu não tenho o pacote hibernate
instalado, então a primeira busca só encontra um utilitário do Windows. De acordo com a listagem de arquivos do pacote , ele deve revelar /usr/sbin/hibernate
junto com alguns outros arquivos. p>
Backup do arquivo original
Primeiramente, queremos fazer uma cópia de backup on-line do arquivo original:
sudo cp -a /usr/sbin/pm-hibernate /usr/sbin/pm-hibernate.bak
Em seguida, exclua o arquivo original:
sudo rm -f /usr/sbin/pm-hibernate
Criar script de wrapper
Observação: em vez de um script de wrapper, muitos acham mais fácil criar um link simbólico para pm-hibernate
to hibernate
: Como criar um link simbólico ou flexível?
Eu gosto de usar gedit
para edição, mas você pode substituí-lo por nano
ou vim
ou qualquer editor que você preferir:
sudo -H gedit /usr/sbin/pm-hibernate
Um arquivo vazio aparecerá. Cole nas seguintes linhas
#!/bin/bash
# Wrapper script to replace pm-hibernate with hibernate package
/usr/sbin/hibernate "$@"
Converter script de wrapper para executável
Atualmente, o script wrapper é um arquivo normal. Precisamos convertê-lo em um objeto executável:
sudo chmod a+x /usr/sbin/pm-hibernate
Agora temos um script wrapper operacional, então toda vez que pm-hibernate
for chamado hibernate
runs. Como mencionado na parte superior, você deve revisar journalctl
primeiro (descrito a seguir) antes de criar um script de wrapper.
Rever journalctl
Você pode grep
as mensagens de hibernação em journalctl
para possíveis problemas.
Eu não uso o hibernate, mas uso suspender. O comando a seguir me permite ver todas as mensagens relativas a suspend
que você substituiria por 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