Macbook leva 20 segundos para acordar

Macbook leva 20 segundos para acordar

O Kubuntu 20.04 no Macbook Air suspende perfeitamente, mas leva muito tempo para acordar a cada vez, cerca de 20 segundos.

Parece ser um caso de suspensão/suspensão normal, não de hibernação, visto que systemctl suspenddesencadeia o mesmo comportamento.

executando isso, acordando e depois correndo

journalctl -b --since "1min ago"

eu receboesse(no Pastebin). não há hibernação mencionada lá.

Quanto à memória e swap, acho que há RAM suficiente:

~$ free -h
               total        used        free      shared  buff/cache   available
Mem:           3,8Gi       703Mi       1,7Gi       162Mi       1,4Gi       2,7Gi
Swap:          2,0Gi       440Mi       1,6Gi

Responder1

Resposta curta:

Em 22.04:

echo deep | sudo tee -a /sys/power/mem_sleep

Se o procedimento acima não funcionar em 22.04 ou se acontecer em 22.10, 23.04 ou posterior:

echo s2idle | sudo tee -a /sys/power/mem_sleep

A solução pode parar de funcionar após atualizações do kernel e mesmo após reinicializações, entãoum script com o comando necessário pode ser executado na reinicialização.

A primeira parte é um pouco contraditória, pois deepdeve sempre desencadear o despertar longo e s2idleo curto, como ditoaqui. Provavelmente havia algo de errado no meu 22.04, onde pelo menos aparentemente o oposto às vezes acontecia.


Resposta longa:

Logo depois de postar esta pergunta me deparei com uma solução que parecia funcionar: no ubuntuforumsaqui, com mais conselhos em resposta a isso,aqui.

Eu realmente não entendo como isso funcionou, um bug pode estar envolvido. Esse post diz que a solução é mudar /sys/power/mem_sleepde s2idlepara deep. Isso não ficou claro para mim porque, ao procurar esse arquivo, ele continha esta única linha:

s2idle [deep]

o que significa quedeep já foi selecionado(!!) — sem contar que, como dito acima, era de se esperar o comportamento contrário. -

Eu entendi o que o comando faz depois de perguntar sobre issoaqui.

Conforme instruído nos comentários iniciais do ubuntuforums, não tentei alterar esse arquivo como tal, mas usei o comando (com base também no segundo comentário):

echo deep | sudo tee -a /sys/power/mem_sleep

Olhando novamente para aquele arquivo, ele parecia inalterado. Mesmo depois de reiniciar ainda estava s2idle [deep], mas naquele ponto oa ativação da suspensão foi instantânea! (O que, pelo que sei em retrospectiva, foi, como dito, o oposto do que se esperava: deepdeveria significar um longo despertar!)

Parece que o arquivo não foi alterado por esse comando, masalgofoi alterado - relacionado a esse arquivo ou não.

Mudando isso para [s2idle] deepum comando correspondente echo s2idle | sudo tee -a /sys/power/mem_sleep(para investigar um pouco isso, conforme discutido nos comentários relacionados à pergunta vinculada), o problema de vigília prolongada de 20 segundos feznãoreaparecer.

Talvez algum bug que não consigo rastrear esteja em jogo.

Após alguma atualização do kernel, o problema inicial reapareceu e foi corrigido da mesma forma. (Na verdade, o arquivo /sys/power/mem_sleepjá estava na forma que o comando deveria acionar, mas o último é necessário mesmo assim.)


Atualização (24 de outubro de 2022):

Após uma nova atualização, a solução acima não funcionou mais - mas a solução oposta funcionou: echo s2idle | sudo tee -a /sys/power/mem_sleep, o que equivale a fazer ocontrárioao que minhas fontes me levaram a fazer.

Isso me pareceu bizarro naquele momento, mas agora entendo que na verdade esse era o comportamento esperado o tempo todo: o que aconteceu antes foi estranho e cheio de erros, e a nova atualização corrigiu isso; s2idledeveria provar o despertar rápido.

Depois de atualizar para a versão "normal" 22.10, o problema pareceu resolvido por um tempo, enquanto o arquivo /sys/power/mem_sleepparecia redefinido para deep. Mas o problema de atraso de ativação de 20 segundos reapareceu e foi corrigido como dito acima na Atualização 2. Novamente confirmado após uma instalação limpa do Kubuntu 22.10: depois de tolerar o problema por um mês (só para ver se isso pode ser corrigido caso contrário), o primeiro comando não ajudou, o segundo sim (fevereiro de 2023).


Como esse problema continua (por exemplo, na versão 23.04 - e reaparece com bastante frequência entre as atualizações), configurei um procedimento mais rápido para executar esse comando no Disparador de Aplicativos, criando um arquivo de script fix_suspendno formato:

#!/bin/sh
echo s2idle | sudo tee -a /sys/power/mem_sleep

e um arquivo ~/.local/share/applications/Fix suspend.desktopcontendo a linha (adaptada para Plasma):

Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true /path/to/fix_suspend

Depois de um tempo, a solução parou de funcionar após a reinicialização, então tive que executar o script na reinicialização, conforme indicado na resposta curta no início.

informação relacionada