¿Cómo bloqueo la pantalla después de salir de la hibernación?

12

He podido hibernar y reanudar con éxito mi PC de escritorio Ubuntu 12.04 utilizando el procedimiento que he documentado en esta respuesta . Sin embargo, ahora tengo el problema de que cada vez que se reanuda la PC, no bloquea la pantalla.

¿Cómo puedo bloquear la pantalla después de que el sistema reanuda la hibernación?

Vikrant Chaudhary
fuente

Respuestas:

9

He agregado un alias en el ~/.bashrcarchivo

alias hibernate='sudo echo "Hibernating..."; gnome-screensaver-command -l; sudo pm-hibernate;'

Para que bloquee la pantalla antes de hibernar.

Елин Й.
fuente
¡Maravilloso! Haga una votación positiva ...
Ajoy
5

He podido solucionar este problema utilizando el siguiente comando

sudo pm-hibernate; gnome-screensaver-command -l

Tenga en cuenta que debe ejecutar esto como un usuario normal y no como usuario raíz para que el bloqueo funcione, porque de forma predeterminada en Ubuntu, no hay una contraseña para el usuario raíz, por lo que después de reanudar, la pantalla de bloqueo se puede desbloquear simplemente sacudiendo el ratón.

Vikrant Chaudhary
fuente
+1 Muchas gracias por la nota de que el protector de pantalla debe ejecutarse como usuario normal (no como root). Tiene mucho sentido ... Ese es el punto ... ¡Gracias!
zbynour
Funcionó bien para mí: (Ubuntu 15.04 - 3.19.0-25-generic # 26-Ubuntu SMP Vie 24 de julio 21:17:31 UTC 2015 x86_64 x86_64 x86_64 GNU / Linux)
cantoni
3

Tengo otra solución. He copiado esto desde /etc/acpi/sleep.shque /etc/acpi/hibernate.shjusto antespm-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

ahora puedo hibernar con bloqueo desde el menú de encendido o un botón de suspensión

mzzzzb
fuente
Funciona muy bien en 14.04 con intercambio encriptado (y en casa), sin embargo, no puedo ver sleep.sh allí, solo para compartir experiencia y presionar algunas palabras clave.
Alen
0

No en Ubuntu, pero lo siguiente funciona para mí:

systemd-inhibit --what sleep --why "Lock screen" --mode delay xdg-screensaver lock & systemctl suspend

Reemplácelo xdg-screensaver lockcon el comando para bloquear la pantalla en su sistema y systemctl suspendcon systemctl hibernatesi desea bloquear la pantalla antes de hibernar.

Esto funciona bloqueando la pantalla en paralelo para suspender la máquina. Sin embargo, el comando de bloqueo de pantalla se está ejecutando como un inhibidor que retrasa el sueño. De esta manera, systemd esperará hasta que la pantalla se bloquee antes de ejecutarse.

Si tiene inhibidores que bloquean la suspensión, agregue la -ibandera al final.

piegames
fuente