在一台较旧的戴尔机器上运行 Ubuntu 18.04,这是一台安装在显示器背面的迷你机器。问题是,它是一个无头系统,我删除了 GUI,因为我反正不需要它。
PC 在一定时间后进入睡眠状态。我还没有真正计时,但闲置一段时间后,它就会进入睡眠状态。我想稍微配置一下这个时间,以便它能更好地适应这种特殊情况。
问题是:谁发出了睡眠命令,时间配置在哪里?Ubuntu 中有关电源管理的大多数信息源都让我使用 gnome-power-manager。但这台机器没有 GUI,所以……没有 gnome-power-manager。我检查了 ps 中的 sleepd 或 powerdevil,什么也没有。
dmesg |grep sleep 显示:
[ 5453.702143] ACPI: Preparing to enter system sleep state S3
[ 5453.726769] cache: parent cpu1 should not be sleeping
[ 5453.727509] ACPI: Waking up from system sleep state S3
[10865.469908] ACPI: Preparing to enter system sleep state S3
[10865.492327] cache: parent cpu1 should not be sleeping
[10865.493067] ACPI: Waking up from system sleep state S3
[16297.564114] ACPI: Preparing to enter system sleep state S3
[16297.586192] cache: parent cpu1 should not be sleeping
[16297.586924] ACPI: Waking up from system sleep state S3
有人知道我可以在哪里配置这个东西吗?
另外,几年前(我想是在 Ubuntu 14 左右),我记得我曾经有一个命令行电源管理包,它真的很棒。您可以在配置文件中设置睡眠、休眠等时间,还可以创建不睡眠的条件……效果很好。我记得我曾经遇到过一种情况,如果运行名为“stayawake”的程序,系统就不会睡眠。所以当我需要它保持开启状态时,我只需运行一个名为“stayawake”的空白无尽脚本即可。但是,我不记得它是什么包了。有人能帮我回忆一下吗?
答案1
找到了!原来这是最古老的技巧:logind。我在调整笔记本电脑的睡眠事件时已经遇到过很多次了,直到今天我才想到要去那里。
我碰巧在看电脑,就在那一刻,电脑进入了睡眠状态。于是我把它打开,查看系统日志,发现:
Jul 12 13:01:07 mediapc systemd[1]: Reached target Sleep.
Jul 12 13:01:07 mediapc systemd[1]: Starting Suspend...
我在 Google 上搜索“systemd reached target sleep”这篇博文从 2018 年开始,在 Debian 上。但 Debian 是 Ubuntu 的亲戚,所以我觉得应该读一读。
然后我检查了 /etc/systemd/logind.conf 并发现:
IdleAction=suspend
IdleActionSec=90min
再次查看系统日志文件,我发现睡眠事件确实每隔 90 分钟发生一次。所以我对它进行了大胆的调整:
IdleAction=poweroff
IdleActionSec=10min
然后重启。果然,10 分钟后,系统就关机了。
最后,我将 /etc/systemd/login.conf 中的行设置为:
IdleAction=suspend
IdleActionSec=180min
所以现在我的系统在 3 小时不活动后就会进入睡眠状态。
我认为我正在寻找的另一个电源管理套件是午睡。它不仅允许您设置睡眠事件时间,还允许您设置避免睡眠的事件。因此,将来我可能会禁用 logind 中的事件,并让 powernap 进行所有处理。
答案2
使用 dconf。它是一个命令行工具,将显示和设置 gnome 的所有必要值。
在你的情况下在终端会话中执行(不涉及 GUI)
dconf write /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-timeout 0
应该有帮助。
另一种方法是设置:
dconf write /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-type "'nothing'"
观察破折号....
仅适用于交流电。如有必要,请更换ac
为battery
您应该知道,有些本机服务器安装已经正确设置了该设置。但一旦安装,这应该是最快的解决方法...