Jak uruchomić polecenia przy zawieszaniu / powrocie z zawieszenia?

10

Często zawieszam laptopa (pm-suspend), a czasem dość często pulpit (pm-suspend-hybrid). Używam najnowszego Ubuntu (13.10, pyskaty).

Czy istnieje sposób, w jaki mógłbym uruchomić polecenie, gdy wchodzę w tryb zawieszenia lub natychmiast po wyjściu z trybu zawieszenia? Chciałbym zabić wszystkie otwarte połączenia wyjściowe ssh i zatrzymać offlineimap, ponieważ czas oczekiwania na te są irytujące. Pomysły?

Frew Schmidt
źródło

Odpowiedzi:

11

Z strony man 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.

Zatem możesz po prostu umieścić skrypt powłoki w ten sposób:

#!/bin/bash

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

na np. 99-myhooks.shi uczynić go wykonywalnym.

BTW, możesz zabić nieaktualne połączenia SSH, wchodząc Enter~.Enterw sesję SSH.

Andreas Wiese
źródło
Jest to oczywiście wstępnie zaprogramowane
MountainX,