web-dev-qa-db-fra.com

Comment verrouiller l'écran après la sortie de veille prolongée?

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?

12

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.

9
Елин Й.

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.

5

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

3
mzzzzb

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.

0
piegames