Как запустить команды на приостановку / возврат из приостановки?
Я часто приостанавливаю свой ноутбук (pm-suspend), а иногда и мой рабочий стол (pm-suspend-hybrid) довольно часто. Я использую последнюю версию Ubuntu (13.10, дерзкий).
Есть ли способ выполнить команду, когда я перехожу в режим ожидания или сразу после выхода из режима ожидания? Я хотел бы убить все открытые выходные соединения ssh и остановить offlineimap, так как время ожидания для них, как правило, раздражает. Идеи?
1 ответ
Решение
С manpage 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.
Таким образом, вы можете просто поместить shell-скрипт так:
#!/bin/bash
case "$1" in
suspend|hibernate)
actions to
take
on suspend
or hibernate
;;
resume|thaw)
other actions
to trigger
on resume
;;
esac
в например 99-myhooks.sh
и сделать его исполняемым.
Кстати, вы можете убить устаревшие SSH-соединения, введя Enter~.Войдите в сессию SSH.