J'ai pu hiberner et reprendre avec succès mon ordinateur de bureau Ubuntu 12.04 en suivant la procédure que j'ai documentée dans cette réponse . Cependant, j'ai maintenant un problème: chaque fois que le PC reprend, il ne verrouille pas l'écran .
Comment puis-je verrouiller l'écran une fois le système remis en veille?
J'ai ajouté un alias dans le fichier ~/.bashrc
alias hibernate='Sudo echo "Hibernating..."; gnome-screensaver-command -l; Sudo pm-hibernate;'
Alors qu'il verrouille l'écran avant en veille prolongée.
J'ai pu résoudre ce problème en utilisant la commande suivante
Sudo pm-hibernate; gnome-screensaver-command -l
Notez que vous devez exécuter ceci en tant qu'utilisateur normal et non en tant qu'utilisateur root pour que le verrouillage fonctionne, car par défaut dans Ubuntu, il n'y a pas de mot de passe pour l'utilisateur root. Après la reprise, lock-screen peut être déverrouillé simplement en secouant la souris.
j'ai une autre solution de contournement. Je l'ai copié de /etc/acpi/sleep.sh
à /etc/acpi/hibernate.sh
juste avant pm-hibernate
if [ x$LOCK_SCREEN = xtrue ]; then
if pidof xscreensaver > /dev/null; then
for x in /tmp/.X11-unix/*; do
displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
getXuser;
if [ x"$XAUTHORITY" != x"" ]; then
export DISPLAY=":$displaynum"
. /usr/share/acpi-support/screenblank
fi
done
fi
fi
maintenant je peux hiberner avec un verrou du menu d'alimentation ou un bouton de veille
Pas sur Ubuntu, mais ce qui suit fonctionne pour moi:
systemd-inhibit --what sleep --why "Lock screen" --mode delay xdg-screensaver lock & systemctl suspend
Remplacez xdg-screensaver lock
par la commande de verrouillage de l'écran de votre système et systemctl suspend
par systemctl hibernate
si vous souhaitez verrouiller l'écran avant de mettre en veille prolongée.
Cela fonctionne en verrouillant l'écran en parallèle pour suspendre la machine. Cependant, la commande de verrouillage de l'écran fonctionne en tant qu'inhibiteur retardant le sommeil. De cette façon, systemd attendra que l'écran soit verrouillé avant de s'exécuter.
Si des inhibiteurs bloquent la suspension, ajoutez l'indicateur -i
à la fin.