Como eu evito a suspensão do GNOME enquanto termino um trabalho de compilação?

7

Eu estou tentando construir um kernel personalizado para minha máquina que está demorando muito para ser construído (como esperado). É possível impedir que a área de trabalho do GNOME suspenda a máquina até que a compilação seja concluída e, em seguida, suspende-a (supondo que eu esteja longe da máquina durante os 30 minutos que normalmente levaria).

Eu não quero desativar permanentemente a suspensão (o que é fácil de fazer através do painel de controle de configurações do sistema, mas desperdiço energia), mas sim especificar (via PID?) meu trabalho de compilação e suspender o computador quando terminar .

    
por davefiddes 15.04.2012 / 15:46

3 respostas

8

Eu não tenho tempo para todos os detalhes agora, mas veja a FAQ do GNOME Power Manager " Como faço para que meu aplicativo pare a suspensão automática do computador? " que aponta para o Inhibit() e UnInhibit() DBus-calls.

Uma ressalva : se o processo chamando Inhibit() sair, a inibição é finalizada - dbus-send em um script Shell, portanto, não fará , mas algum wrapper script (por exemplo, em Python) é necessário.

( Editar Esta postagem no blog contém um pouco mais de informação, também um stub de Python que poderia ser útil.)

    
por 15.04.2012 / 18:53
3

Você pode desativar o tempo limite de inatividade completamente.

Por exemplo, para desativar o tempo limite de suspensão somente para alimentação CA, execute

gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0

Pessoalmente, acho que é completamente estúpido ter um tempo limite de inatividade para suspender o computador, enquanto ele está ligado à energia CA, por padrão e sem a opção de pessoas normais desabilitarem isso.

    
por 05.06.2015 / 22:37
0

Você pode envolver o comando make em seu shell para que ele desative temporariamente o recurso de suspensão automática do gnome.

Primeiro, você precisa descobrir como ativar / desativar a suspensão automática por meio de uma linha de comando. Isso provavelmente é possível via gconftool-2. Um pouco de pesquisa e hacking com o gconf-editor deve ajudar (eu não posso ajudar em relação a isso, eu não uso o gnome).

Em seguida, envolva isso nas funções do seu shell:

disable_autosuspend()
{
    ...
}

enable_autosuspend()
{
    ...
}

Depois disso, use o seguinte wrapper:

test -z $MAKEPRG && export MAKEPRG=$(which make)
make()
{
    disable_autosuspend
    $MAKEPRG $@
    enable_autosuspend
}

A variável MAKEPRG está aqui para manter o caminho para a marca real. O teste está aqui no caso de você querer recarregar seu arquivo rc.

Você também pode suspender via dbus imediatamente após a parada da compilação:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend
    
por 15.04.2012 / 19:09