Mep*_*sto 2 shell-script hibernate
从磁盘休眠状态恢复后,我希望笔记本电脑执行某些操作。
特别是,我默认将它设置为最低的 CPU 频率,这使它绝对安静(根本没有风扇噪音)但在大多数情况下仍然足够快(当我真的需要更多计算能力时,我用另一个脚本更改策略)。但是,从磁盘休眠中恢复后,默认的出厂行为已恢复,即可变频率和该死的风扇在这里和那里启动,以便为我提供打开程序快几分之一秒的奇妙体验。
备注:如果有人对在我的笔记本电脑中设置最低 CPU 的脚本感到好奇(以防有更好的方法来执行此操作且不受休眠/恢复影响),这里是:
sudo cpufreq-set -c 0 -g userspace
sudo cpufreq-set -c 1 -g userspace
sudo cpufreq-set -c 2 -g userspace
sudo cpufreq-set -c 3 -g userspace
sudo cpufreq-set -c 0 -f 400MHz
sudo cpufreq-set -c 1 -f 400MHz
sudo cpufreq-set -c 2 -f 400MHz
sudo cpufreq-set -c 3 -f 400MHz
Run Code Online (Sandbox Code Playgroud)
而且,顺便说一下,这需要在 grub 中禁用intel_pstate,这告诉我将来不会有此功能。如果这是我的意愿,为什么英特尔有时不喜欢让我拥有一台安静而缓慢的计算机,这对我来说是一个谜。
根据您的系统,您可以放置一个可执行脚本,在/etc/pm/sleep.d/00mysleep该脚本中运行一个参数,说明正在进入什么状态:suspend, hibernate。resume,或thaw。
随着systemd你应该能够把一个脚本,例如,
/lib/systemd/system-sleep/00myscript将与2个参数来运行,第一个是pre停车时和post恢复时,和第二个是状态,即suspend,hibernate或hybrid-sleep。
或者使用 systemd,您可以创建和启用一个单元,例如文件/etc/systemd/system/myscript.service保存
[Unit]
Description=Run myscripttorun
After=suspend.target
#After=hibernate.target
#After=hybrid-sleep.target
[Service]
ExecStart=/some/path/myscripttorun
[Install]
WantedBy=suspend.target
#WantedBy=hibernate.target
#WantedBy=hybrid-sleep.target
Run Code Online (Sandbox Code Playgroud)
启用
sudo systemctl enable myscript.service
Run Code Online (Sandbox Code Playgroud)
通过删除#行中的 ,在适当的挂起、休眠、混合睡眠目标之间进行选择,并创建/some/path/myscripttorun要运行的合适脚本。
另请参阅我对类似问题的更详细的回答。