Eu não sei se é padrão, mas no Ubuntu existem scripts que são executados antes da suspensão / após o reinício em /etc/pm/sleep.d
e em /usr/lib/pm-utils/sleep.d
. No meu sistema parece que a rede está desligada por /usr/lib/pm-utils/sleep.d/60_wpa_supplicant
.
Você pode escrever um script, por exemplo /etc/pm/sleep.d/10-umount
, para desmontar seus compartilhamentos antes de suspendê-lo. A estrutura desses scripts é assim:
#!/bin/sh
#
case "${1}" in
suspend|hibernate)
# your command to umount here
;;
resume|thaw)
# (possibly) your command to mount here
;;
esac
Observe que, se o script retornar um erro genérico, a suspensão será abortada, então cuide disso (especialmente se você, como eu, usar para fechar a tampa e armazenar o laptop fora ...). Para escrever coisas mais complexas, obrigado a Samuel Peter pelo seu comentário:
you can return an error without aborting the suspend by returning one of the special values defined in
/usr/lib/pm-utils/pm-functions
:$NA
is "not applicable",$DX
is "disabled", and$NX
is "not executable". See thehook_exit_status
function in the pm-functions script
Você pode até mesmo montá-los depois de continuar automaticamente. de aqui descobri que:
If you want to do something specific to your setup during suspend or hibernate, then you can easily put your own hook into /etc/pm/sleep.d. The hooks in this directory will be called in alphabetic order during suspend (that is the reason their names all start with 2 digits, to make the ordering explicit) and in the reverse order during resume.
Portanto, colocando o mesmo script, o umount
e mount command
devem funcionar (na suspensão, ele é executado antes de desligar a rede e retomar depois disso).
O link da sua pergunta é revelador; é minha interpretação que se o NetworkManager desligar a rede antes dos scripts no nível 00-50 serem executados, é um erro --- pelo menos se a conexão estiver marcada como uma conexão do sistema (em Configurações de Rede - > Opções - > Identidade - > Disponibilizar para outro usuário).