Aqui está o meu problema:
Eu tenho um laptop rodando Arch que eu continuo em casa. Tem uma boa duração de bateria de 4 horas, mas às vezes minha filha está brincando perto de onde está guardada e acaba puxando o plugue. Bem, quando chego em casa 5 horas depois, meu laptop teve um desligamento strong.
Além disso, às vezes eu o deixo suspenso e esqueço isso por um dia ou mais - o mesmo problema.
Aqui está a minha proposta:
Então, meu pensamento era que eu poderia fazer um cron job que fosse executado a cada 15 ou 30 minutos ou algo assim, verificando a duração da bateria. Se a duração da bateria for < N minutos restantes, eu poderia apenas hibernar o laptop. Isso funcionaria bem se meu laptop estivesse em 'ligado' normal. Mas se eu estou suspenso, não tanto. Então, minha pergunta é dupla - existe uma maneira melhor de fazer isso, e se não, é possível fazer algum tipo de monitoramento no modo de suspensão - basicamente apenas executar esse trabalho cron?
Veja o que funcionou:
Seguindo as instruções uswsusp no wiki do Arch, eu instalei o uswsusp do AUR . Usando o seguinte comando:
wayne@jughead:~$ swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 530140 56744 -1
Eu descobri que /dev/sda2
era o nome da minha partição swap. Então eu configurei isso no meu /etc/suspend.conf
snapshot device = /dev/snapshot
resume device = /dev/sda2
Eu adicionei o uresume no meu mkinitcpio.conf aqui:
HOOKS="base udev autodetect pata scsi sata resume uresume filesystems usbinput fsck"
Eu criei /etc/pm/config.d/module
e coloquei
SLEEP_MODULE=uswsusp
nele.
Como meu laptop não foi reconhecido ( # s2ram --test
exibido Machine unknown
) eu tive que usar a opção --force
.
Em /usr/lib/pm-utils/module.d/uswsusp
, também alterei todas as opções s2ram
para s2both
.