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 usando el comando gnome-screensaver-command --lock
(como siempre lo hice antes), que bajo 14.04 bloquea la pantalla, pero:
- Si lo está ejecutando desde el escritorio, bloquea la pantalla usando la nueva pantalla de bloqueo.
- Si lo está ejecutando desde una consola virtual o mediante SSH, bloquea la pantalla usando la pantalla de bloqueo anterior .
También he intentado usarlo xdg-screensaver lock
, pero funciona de la misma manera que lo gnome-screensaver-command --lock
hace (solo usa la nueva pantalla de bloqueo cuando se ejecuta desde el escritorio).
La ejecución light-locker-command --lock
no funcionó, ya light-locker
que no está instalada.
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 de bloqueo de Unity y no la vieja pantalla de bloqueo de la línea de comando?
Esta pregunta probablemente esté relacionada, ya que pide el nuevo comando que debe usarse, así que aquí hay otra pregunta: ¿Por qué ejecutar el mismo comando de bloqueo da resultados diferentes?
Tenga en cuenta que gnome-screensaver
ya no se usa en 14.04, de acuerdo con este informe de error :
Eso no es realmente un error de gnome-screensaver, ese componente dejó de usarse en confianza.
fuente
dm-tool lock
se acerca: bloquea la pantalla, pero (a diferencia de la pantalla de bloqueo predeterminada de Unity) también le permite cambiar de usuario.dm-tool lock
ydm-tool switch-to-greeter
parece estar haciendo lo mismo: llevarlo de vuelta a la pantalla de inicio de sesión (greeter), que se parece mucho a la pantalla de bloqueo.Respuestas:
No lo he
gnome-screensaver
instalado, y el único comando que puedo encontrar que funciona es este:fuente
qdbus org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
gsettings set org.gnome.desktop.lockdown disable-lock-screen false
gsettings get org.gnome.desktop.lockdown disable-lock-screen
vuelvefalse
. Ahora no hay salida en absoluto cuando se ejecuta dbus-send. ¿Quizás se necesita gnome-screensaver para que esto funcione?org.gnome.ScreenSaver
interfaz dbus, por lo que probablemente sea mejor idea comunicarse con la interfaz dbus de UnityLa respuesta aceptada tiene la idea correcta, excepto que la pantalla de bloqueo está relacionada con el panel de la unidad, mientras
org.gnome.ScreenSaver
que obviamente es un tipo de esquema relacionado con Gnome, por lo que puede o no funcionar.Sin embargo, existe una interfaz dbus para Unity, y todo lo que necesitamos es llamar a este método
com.canonical.Unity.Session.Lock
asíNota al margen :
La prueba del hecho de que está relacionado con el panel de la unidad es simple, cuando tiene la pantalla bloqueada, el proceso
/usr/lib/unity/unity-panel-service
cambiará/usr/lib/unity/unity-panel-service --lock-mode
según lo observado desde tty1.fuente
DISPLAY
variable, sino con dbus. No sé si Over ssh Unity no tiene una sesión dbus o no, así que no puedo ayudarte en esa parte. Preguntaré por ahí, pero hasta ahora eso es todo lo que puedo decir.dbus-launch --exit-with-session gnome-terminal
antes de eso. serverfault.com/a/411326¡Recientemente descubrí que
xdg-screensaver lock
también funciona y que es una solución bastante simple también!fuente
Siempre se puede enviar las pulsaciones de teclas:
xdotool key super+l
.fuente