Acabei de verificar o arquivo de log do pm-utils porque isso funciona de imediato. No entanto, depende da formatação das mensagens de log do pm-utils, para que ele possa quebrar com as novas versões do pm-utils.
Atualmente ele está trabalhando no Arch Linux e no OpenSuSE 11.4 / Tumbleweed e provavelmente em todas as outras distribuições que não corrigiram muito o pm-utils.
O código a seguir define NEED_SUSPEND como 1 se a máquina foi despertada da suspensão nos últimos 10 minutos (600 segundos):
# Check if we need to suspend afterwards
if [[ -e /var/log/pm-suspend.log ]]; then
RESUME_DATE="$(egrep 'Running hooks for (resume|thaw)' /var/log/pm-suspend.log | tail -n 1 | sed 's/^\(.*\):.*$//')"
if [[ -n "$RESUME_DATE" ]]; then
RESUME_SECS="$(date --date="$RESUME_DATE" +%s)"
NOW_SECS="$(date +%s)"
SECS_SINCE_RESUME=$(( $NOW_SECS - $RESUME_SECS ))
if [[ $SECS_SINCE_RESUME -lt 600 ]]; then
NEED_SUSPEND=1
fi
fi
fi