
Estou tentando construir um kernel personalizado para minha máquina, que está demorando muito para ser construído (conforme esperado). É possível impedir que minha área de trabalho GNOME suspenda a máquina até que a compilação seja concluída e então suspenda-a (supondo que eu esteja longe da máquina pelos 30 minutos que normalmente levaria).
Não quero desabilitar permanentemente a suspensão (o que é fácil de fazer através do painel de controle das configurações do sistema, mas desperdiça energia), mas sim poder especificar (via PID?) Meu trabalho de compilação e suspender o computador quando terminar.
Responder1
Você pode desativar completamente o tempo limite de inatividade.
Por exemplo, para desativar o tempo limite de suspensão apenas para alimentação CA, execute
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
Pessoalmente, acho completamente estúpido ter um tempo limite de inatividade para suspender o computador, enquanto ele está ligado à alimentação CA, por padrão e sem opção para pessoas normais desabilitarem isso.
Responder2
Não tenho tempo para todos os detalhes agora, mas veja oPerguntas frequentes do GNOME Power Manager "Como faço para que meu aplicativo interrompa a suspensão automática do computador"que aponta para as chamadas Inhibit()
e UnInhibit()
DBus.
Aembargo: se a chamada do processo Inhibit()
for encerrada, a inibição será encerrada -dbus-send
em um script Shell, portanto, não funcionará, mas é necessário algum script wrapper (por exemplo, em Python).
(Editar Esta postagem do blogcontém um pouco mais de informações, também um esboço do Python que pode ser útil.)
Responder3
O GNOME desenvolveu uma solução bacana para esse problema na forma de gnome-session-inhibit
utilitário. Para usá-lo, basta adicioná-lo antes do comando de longa execução, algo como:
gnome-session-inhibit make
É possível ter várias sessões de inibição em execução ao mesmo tempo, se necessário. Eles podem ser listados executando gnome-session-inhibit -l
. Para mais detalhes veja opágina de manual.
Responder4
Gere um arquivo de vídeo em branco com 1 hora de duração e reproduza-o em um player compatível com MPRIS2. Você pode gerar uma série de "vídeos" de diferentes durações e colocá-los em uma lista de reprodução, para obter o tempo de inibição desejado.
Ele não tem conhecimento de nenhum processo que possa sobreviver ao prazo de inibição, mas se você souber aproximadamente quanto tempo o processo levará, provavelmente poderá estima-lo.
Alternativamente, você pode comprar um dispositivo barato chamado "mouse jiggler". Parece um receptor de mouse sem fio, mas simula um mouse que balança de vez em quando. Alguns modelos possuem um botão para alternar a função.