Como executo um script / comando na suspensão?

0

Estou executando o Ubuntu 10.04 e o applet gnome-do docky. Por alguma razão, de vez em quando (às vezes depois de um, às vezes depois de várias suspensões) quando eu acordo de uma suspensão (eu estou em um laptop, então toda vez que eu fecho a tela entre minhas aulas) o gnome-do começa a devorar o CPU. Tentando usar o botão quit no gnome-do não funciona, eu tenho que matar o processo -1.

Aparentemente, tem sido um problema para várias pessoas, já que há pelo menos um relatório de erros . De acordo com o relatório do bug, ele foi corrigido, mas o lançamento não foi enviado para o PPA. Então, minha ideia era fazer com que o script suspender matasse o gnome-do automaticamente e então eu teria que reiniciá-lo novamente quando eu acordar (ou definir isso em um script de ativação). Infelizmente meu google-fu parece falhar comigo - eu encontrei muitas informações sobre desligamento e logout, mas nada em suspender.

Algum apontador? Obrigado!

    
por Wayne Werner 01.12.2010 / 16:59

4 respostas

3

Eu acredito que você pode colocar um script de shell em /etc/pm/sleep.d/ , que será executado em suspender / hibernar / continuar / descongelar. Veja a página pm-suspend para mais informações.

Eu também recomendo tentar o gnome-do do trunk ( bzr branch lp:do ) e ver se isso resolve o problema. Se assim for, podemos olhar para obter uma correção de destino como um SRU.

    
por Iain Lane 01.12.2010 / 17:07
1

Você pode kill -s STOP <pid> e kill -s CONT <pid> depois. Isto irá suspender e, em seguida, retomar o processo, dando absolutamente nenhum ciclo de CPU enquanto o computador está começando a adormecer e quando está acordando. É um pouco difícil, mas talvez funcione.

Combine isso com a ideia /etc/pm/sleep.d/ de Iain Lane e você terá uma solução totalmente automatizada.

    
por Aleksandr Levchuk 01.12.2010 / 17:12
0

Coloque um script em /etc/pm/sleep.d/ . O nome do arquivo deve começar com um número de pedido, 00-49 para scripts de usuário, e você pode diferir entre suspender e ativar por um argumento que será passado para o script (para obter mais detalhes sobre ambos, consulte man pm-suspend ).

Ao matá-lo, sugiro fazer

(killall -1 gnome-do; exit 0)

no script. Caso contrário, se você tentar suspender e processar o gnome-do não estiver em execução, o killall será encerrado com o código de saída 1, que cancelará a suspensão inteira. O acima irá executar killall em um sub-shell que sairá com 0.

Se você estiver com problemas, verifique /var/log/pm-suspend.log que registrará a tentativa de executar seu script e possíveis problemas.

    
por Carl 03.03.2013 / 17:29
0

A chave é executar o processo docky em segundo plano com & amp; comando. Caso contrário, outros problemas ocorrerão.

Você pode encontrar solução completa nesta página: link

    
por coolman 26.04.2014 / 12:40