Como executo comandos em suspender / retornar da suspensão?

8

Suspendo meu laptop (pm-suspend) com frequência e às vezes meu desktop (pm-suspend-hybrid) com bastante frequência. Eu estou usando o ubuntu mais recente (13.10, saucy).

Existe uma maneira que eu poderia executar um comando quando eu entrar em suspensão ou imediatamente depois de sair da suspensão? Eu gostaria de matar qualquer conexão ssh de saída aberta e parar o offlineimap, já que o tempo limite para isso tende a ser chato. Idéias?

    
por Frew Schmidt 25.03.2014 / 14:42

1 resposta

8

A partir da página de manual pm-action(8) :

/etc/pm/sleep.d, /usr/lib/pm-utils/sleep.d
     Programs in these directories (called hooks) are combined
     and executed in C sort order before suspend and hibernate
     with as argument ´suspend´ or ´hibernate´. Afterwards they
     are called in reverse order with argument ´resume´ and
     ´thaw´ respectively. If both directories contain a similar
     named file, the one in /etc/pm/sleep.d will get preference.
     It is possible to disable a hook in the distribution
     directory by putting a non-executable file in
     /etc/pm/sleep.d, or by adding it to the HOOK_BLACKLIST
     configuration variable.

Assim, você pode simplesmente colocar um script de shell como este:

#!/bin/bash

case "$1" in
suspend|hibernate)
    actions to
    take
    on suspend
    or hibernate
    ;;
resume|thaw)
    other actions
    to trigger
    on resume
    ;;
esac

em p. 99-myhooks.sh e torná-lo executável.

BTW, você pode matar conexões SSH antigas inserindo Enter ~ . Digite na sessão SSH .

    
por 25.03.2014 / 14:50