Atualização 23 de abril de 2018: Corrigindo a causa raiz resolve esse problema
Causa raiz
O arquivo de serviço - /lib/systemd/system/firewalld.service
diz que o firewalld está em conflito com ebtables.service
, que é ativado por padrão no Ubuntu 16.04.
Solução
Desative e mascare ebtables.service
com os dois comandos a seguir:
sudo systemctl disable ebtables
sudo systemctl mask ebtables
Isso resolve o problema com o FirewallD e o hybrid-sleep e o problema associado de O Firewalld não inicia na inicialização
Graças a resposta de Alfred à pergunta acima
Resposta original:
Pare firewalld
antes do hibernar dormir e inicie-o no currículo
Plano de fundo
Coloque um arquivo de script bash em /lib/systemd/system-sleep/
. Imediatamente antes de entrar em suspensão do sistema, hibernar ou híbrido, o systemd-suspend.service
(e os respectivos equivalentes) suspenderão o script bash em /lib/systemd/system-sleep/
e passarão dois argumentos para eles. O primeiro argumento será pre , o segundo suspender , hibernar ou hybrid-sleep dependendo da opção escolhida açao.
Imediatamente depois de sair do sistema suspender, hibernar ou hibernar, o mesmo script bash é executado, mas o primeiro argumento agora é post .
Fonte: link
Como fazer:
Crie um arquivo de texto: /lib/systemd/system-sleep/firewalld-sleep.sh
com o seguinte conteúdo:
#!/bin/bash
case $1/$2 in
pre/*)
# Disable firewalld before hybrid-sleep
systemctl stop firewalld.service
;;
post/*)
# Enable firewalld after hybrid-sleep
systemctl start firewalld.service
;;
esac
Torne o arquivo executável. Veja link para detalhes.
Observe que o script interrompe o firewalld
antes de qualquer um dos três tipos de suspensão / hibernação / suspensão híbrida e o inicia novamente no resumo.
Agora, firewalld
e hybrid-sleep
coexistirão e o sistema não congelará se você fechar a tampa enquanto firewalld
estiver em execução.
Espero que isso ajude