Nie sądzę, żeby to ustawienie, o którym wspomniałeś, ma z tym coś wspólnego.
Sprawdź /var/log/pm-suspend.log
i zobacz, czy to daje jakąś wskazówkę.
Problemy te są zwykle spowodowane niektórymi procesami zatrzymującymi zawieszenie systemu.
Robić
dmesg -T|grep Freez -A4
i poszukaj tych wpisów:
--
[sun mar 3 15:19:48 2013] Freezing user space processes ...
[sun mar 3 15:20:08 2013] Freezing of tasks failed after 20.01 seconds (3 tasks refusing to freeze, wq_busy=0):
[sun mar 3 15:20:08 2013] mount.nfs D e8631aa0 0 5518 5517 0x00800004
[sun mar 3 15:20:08 2013] e8631b10 00000086 f7bc0e00 e8631aa0 c1053cb4 c1809020 c192ee00 c192ee00
--
Sprawdź znaczniki czasu, aby zobaczyć, który z zgłoszonych problemów dotyczy próby zawieszenia. W takim przypadku mount.nfs
przyczyną są problemy.
Teraz włóż skrypt /etc/pm/sleep.d/
, skrypty będą uruchamiane przy zawieszeniu i wznawiane. Nazwa pliku powinna zaczynać się od numeru zamówienia 00-49 dla skryptów użytkownika (więcej szczegółów, patrz man pm-suspend
).
Skrypt może wyglądać tak
#!/bin/sh
(killall -9 mount.nfs; exit 0)
z odpowiednimi wpisami dotyczącymi innych procesów, które spowodowały problemy, jeśli takie występują.
Nawias i exit 0
jest sztuczką: jeśli proces nie zostanie znaleziony, killall
wyjdzie z kodem wyjścia 1, który anuluje całe zawieszenie. Powyższe będzie działać killall
w podpowłoce, która zakończy działanie z 0.
Jeśli masz problemy, sprawdź /var/log/pm-suspend.log
, czy zarejestrujesz próbę zawieszenia i uruchomienia skryptu.