it-swarm-pt.tech

Para onde vai o híbrido?

Então, o que aconteceu com o hybrid suspender, onde ele iria suspender a ambos RAM e disco? Foi meio quente há alguns anos atrás, mas parece que foi descartado. Existe alguma maneira de configurá-lo em versões recentes do Ubuntu?

16
Ryan Thompson

Existe um programa chamado pm-is-supported que pode ser usado para verificar os recursos de suspensão do sistema.

No meu sistema, aqui estão os resultados (0 significa suportado, 1 significa não suportado):

$ pm-is-supported --suspend ; echo $?  
0  
$ pm-is-supported --hibernate ; echo $?
0
$ pm-is-supported --suspend-hybrid ; echo $?
1

A manpage do pm-is-supported sugere que o s2both suporta suspensão híbrida. Eu instalei o s2both, disponível no pacote uswsusp mas ainda relata que a suspensão híbrida não é suportada. Eu tenho um palpite de que precisa de uma reinicialização porque atualizou a imagem do initrd. Eu vou reiniciar e reportar de volta. Me deseje sorte .

Atualização: A execução de Sudo s2both escreveu o snapshot em disco e suspendeu para RAM corretamente, no entanto, quando pressionei uma tecla para reiniciar o sistema (e não restaurou o snapshot do disco).

Eu acho que há algo errado com o pacote uswsusp no Ubuntu. O pacote splashy (que é usado por uswsusp) tem um conflito de arquivos com lsb-base que foi deixado sem correção desde Jaunty ( https://bugs.launchpad.net/ubuntu/+source/splashy/+bug/328089 )

Tente executar Sudo s2both ou Sudo pm-suspend-hybrid, veja se funciona no seu sistema.

9
Li Lo

Você pode ativar a suspensão híbrida seguindo a resposta a esta pergunta:

3
Jorge Castro

Esta questão surge com frequência suficiente no Google e acho que vale a pena bater. Li explica híbrido suspender perfeitamente. No entanto, s2both requer uswsusp (portanto, não usa suspensão no kernel), e pm-hsuspend-hybrid faz a coisa errada porque não é mantida [1].

Veja como ativar o híbrido suspender sem problemas:

  • Substituir chamada "suspender" para fazer um "hybrid_suspend" em pm-utils.
% cat /etc/pm/config.d/00-use-suspend-hybrid
 # Sempre use suspend_hybrid ao invés de suspender 
 se ["$ METHOD" = "suspender" ]; então 
 MÉTODO = suspend_hybrid 
 fi 
  • Faça um backup de/usr/lib/pm-utils/pm-functions
  • Obtenha o patch daqui: https://bugs.freedesktop.org/attachment.cgi?id=68712
    • Este patch permite a suspensão híbrida, se disponível (por exemplo, em núcleos 3.6+)
  • Aplique-o usando 'patch -p0' ou mescle-o manualmente se isso falhar

Este método funciona para mim no meu Sony Vaio SVS.

PS: Reproduzindo o patch aqui caso o arquivo seja deletado no futuro:

 diff --git a/pm/pm-functions.in b/pm/pm-functions.in 
 --- a/pm/pm-functions.in 
 + ++ b/pm/pm-functions.in 
 @@ -316,8 +316,28 @@ if [-z "$ HIBERNATE_MODULE"] &&\
 {
 [-n "$ {HIBERNATE_MODE}"] &&\
 grep -qw "$ {HIBERNATE_MODE}"/sys/alimentação/disco &&\
 + HIBERNATE_MODE_SAVE = $ (cat/sys/power/disco) &&\
 + HIBERNATE_MODE_SAVE = "$ {HIBERNATE_MODE_SAVE ## * [}" &&\
 + HIBERNATE_MODE_SAVE = "$ {HIBERNATE_MODE_SAVE %%] *}" &&\
 echo -n "$ {HIBERNATE_MODE}"> /sys/power/disk
 echo -n "disco"> /sys/power/state
+ RET = $? 
 + echo -n "$ HIBERNATE_MODE_SAVE"> /sys/power/disk
+ return "$ RET" 
 +} 
 + fi 
 + 
 + # para os kernels que suportam a suspensão para ambos (ou seja, suspensão híbrida) 
 + # desde o kernel 3.6 
 + se [-z "$ SUSPEND_HYBRID_MODULE"] &&\
 + [-f/sys/power/disk] &&\
 + grep -q disco/sys/energia/estado &&\
 + grep -q suspender/sys/energia/disco; então 
 + SUSPEND_HYBRID_MODULE = "kernel" 
 + do_suspend_hybrid () 
 + {
 + HIBERNATE_MODE = "suspender" 
 + do_hibernate 
} 
 fi 

Fontes:

[1]: pm-utils antecede a suspensão híbrida no kernel disponível em kernels 3.6+. O que o pm-suspend-hybrid faz é colocar sua máquina no modo de suspensão por 15min por padrão e depois hibernar.

0
Rohan Dhruva