我已经按照Firewalld does not start at boot的答案工作了 firewalld 。
我有混合睡眠在默认情况下如何使用 pm-suspend-hybrid 而不是 pm-suspend?
但是,如果firewalld处于活动状态并且我关闭盖子以启动混合睡眠,那么系统会冻结并显示黑屏。如果我通过电源齿轮菜单 > 挂起启动正常睡眠,那么计算机将正常挂起。如果我在将计算机置于混合睡眠状态之前停止防火墙服务,我也可以让计算机进入混合睡眠状态。
我的计算机正在运行带有 HWE 的 Ubuntu 16.04.2 LTE。
我的问题是如何防止 firewallD 和混合睡眠之间的冲突?
谢谢
2018 年 4 月 23 日更新:修复根本原因可解决此问题
根本原因
服务文件 -表示在 Ubuntu 16.04 中默认启用的
/lib/systemd/system/firewalld.service
firewalld 冲突。ebtables.service
解决方案
ebtables.service
使用以下两个命令禁用和屏蔽:这解决了 FirewallD 和混合睡眠 的问题,并且 Firewalld 的相关问题不会在启动时启动
感谢alfred 对上述问题的回答
原答案:
在混合睡眠之前停止
firewalld
并在恢复时启动背景
将 bash 脚本文件放入
/lib/systemd/system-sleep/
. 在进入系统挂起、休眠或混合睡眠之前,systemd-suspend.service
(和相应的等效项)将运行 bash 脚本/lib/systemd/system-sleep/
并向它们传递两个参数。第一个参数是pre,第二个参数是suspend、hibernate或hybrid-sleep ,具体取决于所选的操作。在离开系统挂起、休眠或混合睡眠后立即运行相同的 bash 脚本,但第一个参数现在是post。
来源:https ://www.freedesktop.org/software/systemd/man/systemd-suspend.service.html
怎么做:
创建一个文本文件:
/lib/systemd/system-sleep/firewalld-sleep.sh
具有以下内容:使文件可执行。有关详细信息,请参阅http://askubuntu.com/questions/484718/how-to-make-a-file-executable。
请注意,该脚本会
firewalld
在三种睡眠/休眠/混合睡眠中的任何一种之前停止,并在恢复时再次启动它。现在
firewalld
,hybrid-sleep
如果您在运行时关闭盖子,它将共存并且系统不会冻结firewalld
。希望这可以帮助