¿Cómo ejecuto comandos en suspensión / retorno de suspensión?

9

Suspendí mi laptop (pm-suspend) con frecuencia y, a veces, mi computadora de escritorio (pm-suspend-hybrid) con bastante frecuencia. Estoy usando el último ubuntu (13.10, descarado).

¿Hay alguna forma de ejecutar un comando cuando entro en suspensión o inmediatamente después de salir de la suspensión? Me gustaría eliminar cualquier conexión ssh de salida abierta y detener el offlineimap, ya que el tiempo de espera para esos tiende a ser molesto. Ideas?

Frew Schmidt
fuente

Respuestas:

10

Desde la 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.

Por lo tanto, simplemente podría poner un 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

en, por ejemplo, 99-myhooks.shy hacerlo ejecutable.

Por cierto, puede eliminar las conexiones SSH obsoletas entrando Enter~.Enteren la sesión SSH.

Andreas Wiese
fuente
Esto es obviamente pre-systemd
MountainX