Script que é executado após sair da hibernação?

0

Há coisas que gostaria que o laptop fizesse depois de retomar a hibernação em disco.

Em particular, eu configuro a frequência mais baixa da CPU por padrão, o que a torna absolutamente silenciosa (sem ruído do ventilador), mas ainda rápida o suficiente na maioria das vezes (eu mudo a política com outro script quando realmente preciso mais poder de computação). Mas, depois de voltar de uma hibernação em disco, o comportamento padrão de fábrica foi restaurado, que é uma frequência variável e o maldito ventilador dispara aqui e ali para me oferecer a maravilhosa experiência de abrir programas uma fração de segundo mais rápido. / p>

Observação: Se alguém estiver curioso sobre o script que define a CPU mais baixa do meu laptop (caso haja uma maneira melhor de fazer isso que não seja afetada pelo hibertate / resume), aqui está:

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

E, a propósito, isso precisa desativar intel_pstate no grub, o que me diz que esse recurso não estará lá no futuro. Por que diabos a Intel não gosta de permitir que eu tenha um computador silencioso e lento às vezes, se isso for minha vontade, é um mistério para mim.

    
por Mephisto 12.02.2018 / 07:32

1 resposta

1

Dependendo do seu sistema, você pode colocar um script executável em /etc/pm/sleep.d/00mysleep , que será executado com um argumento dizendo qual estado está sendo digitado: suspend , hibernate . resume ou thaw .

Com o systemd, você deve colocar um script, por exemplo, em /lib/systemd/system-sleep/00myscript , que será executado com 2 argumentos, sendo o primeiro pre ao parar e post ao continuar, e o segundo sendo o estado, ou seja, suspend , hibernate ou hybrid-sleep .

Ou com o systemd, você pode criar e ativar uma Unidade, como o arquivo /etc/systemd/system/myscript.service holding

[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

ativado com

sudo systemctl enable myscript.service

Escolha entre os destinos de suspensão, hibernação e hibernação apropriados removendo # nas linhas e crie um script adequado /some/path/myscripttorun para ser executado.

    
por 12.02.2018 / 22:20