Estou executando o 18.04 e tentando fazer com que meu sistema use o hibernate em vez do pm-hibernate quando a tampa do meu laptop se fechar.
Eu tenho uma partição de swap de 20 GB em 16 GB de RAM, espaço suficiente.
Quando uso pm-hibernate, recebo um pequeno erro apci que aparece muito rapidamente ao hibernar e restaurar que não consigo ler. Embora o hibernate funcione no sentido em que parece despejar no disco e restaurá-lo, parece ser um estado de suspensão, pois usa a bateria a uma taxa normal, em vez de desligar completamente e interromper o uso da bateria.
No entanto, quando eu uso o hibernate instalado por:
sudo apt-get install hibernate
E corra:
sudo hibernate
E, restaurando a partir disso, percebo que minha máquina de fato desliga - os LEDs param de pulsar etc. - e o uso da bateria fica em zero. Esse é o comportamento que eu gostaria de ver quando minha tampa se fecha, não o comportamento do sono que usa a bateria como se eu estivesse fazendo uso ativo do computador.
Eu segui estes guias:
modificado
/etc/systemd/logind.conf
incluir:
#HandleLidSwitch=suspend
HandlelidSwitch=hibernate
E adicionei minha alteração da partição swap em:
/etc/default/grub
Para incluir o resumo correto = link e o s2disk solicitado especificamente com:
sudo cat /etc/pm/config.d/00sleep_module
SLEEP_MODULE="swsusp"
Eu li o seguinte askubuntus relacionado:
- Hibernar ao fechar a tampa
- O hibernate do Ubuntu 17.04 funciona, mas o pm-hibernate não
- Laptop bloqueia a tela em vez de hibernar
- como fazer o linux preferir o sudo pm-hibernate sobre o systemctl hibernate como padrão?
- O modo de suspensão consome tanto bateria quanto quando o laptop está em uso
- Substituindo o método de hibernação padrão para s2disk
Também li esses links nos fóruns da Lenovo e do Arch:
- https://forums.lenovo.com/t5/Linux-Discussion/X1-Carbon-Gen-6-cannot-enter-deep-sleep-S3-state-aka-Suspend-to/td-p/3998182/page/ 4
- https://forums.lenovo.com/t5/Linux-Discussion/X1-Gen6-Massive-battery-drain-in-suspend-No-deep-sleep-support/mp/3997789
- https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)
- https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate
Como posso garantir que o hibernate chamado por tampa-fechamento seja hibernado e não pm-hibernado?
Atualizar
Isso ainda é um problema e ainda torna a 6ª geração do Carbon X1 fundamentalmente inútil no ubuntu. Quaisquer soluções que possam corrigir isso e talvez adicionar adicionalmente um prompt de login podem ser quase tão boas quanto uma máquina Windows de 4 anos atrás ...;)
fonte
/var/log/pm-suspend.log
. Obrigado./usr/sbin/pm-hibernate
para/usr/sbin/pm-hibernate.OLD
. Em seguida, crie/usr/sbin/pm-hibernate
bash scxript que contém ohibernate
comando. Usetype -a hibernate
para encontrar o caminho exato para o comando. Não existe no meu sistema porque não o instalei.Respostas:
Eu também odeio ter que passar um URL para copiar e colar as informações e anexar a página da web na parte inferior. Eu não vejo isso no seu link.
Ao ler isso, notei que a hibernação pode não funcionar se você tiver formatado com o sistema de arquivos btrfs? Então, como a hibernação está permanentemente ativada no Ubuntu 16.04?
Para tornar o processo de hibernação do Ubuntu permanente, você precisa criar um novo arquivo usando um editor de texto na linha de comando:
O sistema requer privilégios de root para ativar a opção de hibernação; portanto, o comando sudo deve ser adicionado. Você pode usar outros editores de texto como vi, gedit, emacs etc.
Agora, copie e cole o seguinte texto em um arquivo (use o mouse; os atalhos de teclado não funcionarão):
Pressione CTRL+ Opara salvar e CTRL+ Xpara sair do nano editor.
Agora, efetue logout do seu sistema e efetue login novamente. Agora você verá uma opção de hibernação, juntamente com as opções Desligar e Suspender.
O link para sua conveniência é: https://fossbytes.com/enable-disable-hibernate-option-ubuntu-power-menu/
fonte
Duas opções
A primeira opção (listada em segundo) é revisar
journalctl
possíveis mensagens de erro relacionadas à hibernação. Se a primeira opção não produzir resultados, a segunda opção é criar um script de wrapper que substituapm-hibernate
por `hibernate.Criar script Wrapper
Criar um script de wrapper permite
hibernate
substituirpm-hibernate
.Os comandos Localizar diretórios estão localizados em
Antes de criar o script do wrapper, você precisa saber em quais diretórios os comandos
hibernate
epm-hibernate
residem. Use estes dois comandos:O script do wrapper que você deseja criar será
/usr/sbin/pm-hibernate
. Como não tenho ohibernate
pacote instalado, a primeira pesquisa encontra apenas um utilitário do Windows. De acordo com a lista de arquivos do pacote , ele deve ser revelado/usr/sbin/hibernate
junto com alguns outros arquivos.Arquivo original de backup
Primeiro, queremos fazer uma cópia de backup on-line do arquivo original:
Em seguida, exclua o arquivo original:
Criar script de wrapper
Nota: em vez de um muitos acham script wrapper que seja mais fácil para criar um link simbólico para
pm-hibernate
ahibernate
: Como criar um soft ou link simbólico?Eu gosto de usar
gedit
para editar, mas você pode substituí-lo pornano
ou pelovim
editor que preferir:Um arquivo vazio aparecerá. Cole nas seguintes linhas
Converter script de wrapper em executável
Atualmente, o script do wrapper é um arquivo regular. Precisamos convertê-lo em um objeto executável:
Agora temos um script de wrapper operacional, portanto, toda vez que
pm-hibernate
é chamado dehibernate
execução. Conforme mencionado na parte superior, porém, você deve revisarjournalctl
primeiro (descrito a seguir) antes de criar um script de wrapper.Reveja
journalctl
Você pode
grep
enviar as mensagens de hibernaçãojournalctl
para possíveis problemas.Eu não uso o hibernate, mas uso o suspend. O comando a seguir me permite ver todas as mensagens pertencentes às
suspend
quais você substituiriahibernate
:fonte
sudo -H /usr/sbin/pm-hibernate
abre um editor? Estou tentando seguir as instruções, não quero fazer suposiçõessudo -H gedit /usr/sbin/pm-hibernate
como eu acabei de mudar.