web-dev-qa-db-fra.com

Comment faire pour que l'option "suspendre" fonctionne?

Dans la gestion de l'alimentation, j'ai sélectionné l'option "Suspendre quand je ferme le couvercle". Si je ferme le couvercle, l'ordinateur n'est pas suspendu. Il se maintient. Comment puis-je résoudre ce problème?

6
Karthick Bala

Cela se produit généralement lorsque certains processus empêchent le système d'être suspendu.

Faire

dmesg -T|grep Freez -A4

et recherchez ces entrées:

--
[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
--

Vérifiez les horodatages pour savoir lequel des problèmes signalés se rapporte à votre tentative de suspension. Dans ce cas, c’est mount.nfs qui est à l’origine des problèmes.

Maintenant, mettez un script dans /etc/pm/sleep.d/, les scripts seront exécutés à la suspension et à la reprise. Le nom du fichier doit commencer par un numéro de commande, 00-49 pour les scripts utilisateur (pour plus de détails, voir man pm-suspend).

Le script pourrait ressembler à ceci

#!/bin/sh
(killall -1 mount.nfs; exit 0)

avec des entrées correspondantes pour d'autres processus qui ont causé des problèmes, le cas échéant.

Les parenthèses et exit 0 est une astuce: si le processus n’est pas trouvé, killall se fermera avec le code de sortie 1, ce qui annulera la suspension complète. Ce qui précède exécutera killall dans un sous-shell qui se terminera par 0.

Si vous rencontrez des problèmes, vérifiez /var/log/pm-suspend.log qui enregistrera la tentative de suspension et l'exécution de votre script.

3
Carl

L’ordinateur suspend-il lorsque vous choisissez l’option Suspendre au lieu de fermer le couvercle?

Vérifiez les journaux de suspension à /var/log/pm-suspend.log

cela pourrait vous dire pourquoi il ne suspend pas.

3
Russell5