Como executo comandos na suspensão / retorno da suspensão?


9

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

Existe uma maneira de executar um comando quando suspender ou imediatamente após sair da suspensão? Eu gostaria de eliminar todas as conexões ssh de saída aberta e parar o offlineimap, pois o tempo limite para elas tende a ser irritante. Ideias?

Respostas:


10

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 shell-script 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

no eg 99-myhooks.she torne-o executável.

BTW, você pode eliminar conexões SSH antigas entrando Enter~.Enterna sessão SSH.


Isto é obviamente pré-systemd
MountainX
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.