¿Cómo puedo bloquear la pantalla usando la nueva pantalla de bloqueo desde la línea de comando?

18

Ubuntu 14.04 presenta una nueva pantalla de bloqueo que se parece a la pantalla de inicio de sesión.

Todavía puedo bloquear la pantalla con el comando gnome-screensaver-command --lock (como siempre lo hice antes), que debajo de 14.04 bloquea la pantalla, pero:

  • Si lo está ejecutando desde el escritorio, bloquea la pantalla con la nueva pantalla de bloqueo.
  • Si lo está ejecutando desde una consola virtual o mediante SSH, bloquea la pantalla con la vieja pantalla de bloqueo .

También he intentado usar xdg-screensaver lock , pero funciona de la misma manera que gnome-screensaver-command --lock does (solo usa la nueva pantalla de bloqueo cuando se ejecuta desde el escritorio).

La ejecución light-locker-command --lock no funcionó, ya que light-locker no está instalado.

Supongo que debe haber algunas diferencias entre ejecutar el mismo comando desde el escritorio y ejecutarlo a través de SSH / consola virtual, pero no pude encontrar ninguna diferencia en las variables de entorno.

Entonces, mi pregunta es: ¿Cómo puedo bloquear la pantalla usando la nueva pantalla bloqueada de Unity y no la vieja pantalla bloqueada desde la línea de comando?

Esta pregunta probablemente esté relacionada ya que pregunta por el nuevo comando que debe usarse, así que aquí hay otra pregunta: ¿Por qué ejecutar el mismo comando de bloqueo arroja resultados diferentes?

Tenga en cuenta que gnome-screensaver ya no se usa en 14.04, de acuerdo con este error informe :

  

Eso no es realmente un error de gnome-screensaver, ese componente dejó de usarse en modo confiable.

    
pregunta Léo Lam 28.04.2014 - 18:50

4 respuestas

13

No tengo gnome-screensaver instalado, y el único comando que puedo encontrar que funciona es este:

dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock

    
respondido por el Aibara 08.07.2014 - 01:02
3

La respuesta aceptada tiene la idea correcta, excepto que la pantalla de bloqueo está relacionada con el panel de unidad, mientras que org.gnome.ScreenSaver es obviamente un tipo de esquema relacionado con Gnome, por lo que puede funcionar o no.

Sin embargo, existe una interfaz dbus para Unity, y todo lo que necesitamos es llamar a este método com.canonical.Unity.Session.Lock como

qdbus com.canonical.Unity  /com/canonical/Unity/Session com.canonical.Unity.Session.Lock

Nota al pie :

La prueba del hecho de que está relacionado con el panel de unidad es simple, cuando tienes la pantalla bloqueada, el proceso /usr/lib/unity/unity-panel-service cambiará a /usr/lib/unity/unity-panel-service --lock-mode como se observa desde tty1.

    
respondido por el Sergiy Kolodyazhnyy 01.04.2016 - 08:24
1

Recientemente descubrí que %código% también funciona y es una solución bastante simple!

    
respondido por el Paulius Šukys 22.01.2016 - 18:18
0

Siempre puedes enviar las teclas presionadas: xdotool key super+l .

    
respondido por el wieczorek1990 01.04.2016 - 08:13

Lea otras preguntas en las etiquetas