¿Bloquear la pantalla a través de CLI?

8

¿Hay alguna forma de bloquear la pantalla al estilo CLI? Estoy tratando de apuntar a tantos administradores de escritorio como sea posible (principalmente LightDM, pero GDM, KDM, SLiM, XScreensaver, etc. también sería genial), pero solo puedo desenterrar cosas para GDM y XScreensaver.

Para GDM, sería:

gnome-screensaver-command -l

Para XScreensaver:

xscreensaver-command -lock

¿Hay un comando similar para KDM y LightDM?

Licuadora
fuente
¿Puede iniciar el protector de pantalla y ssh in y ps y ver qué protector de pantalla se está ejecutando y deducir desde allí qué comando ejecutar? (cómo encontré el comando gnome-screensaver-command)
polinomio
1
man lightdmno parece demasiado prometedor ... moleberry.com/man/l/lightdm.1.html
jasonwryan
Quizás pueda intentar controlarlos mediante d-bus (utilizando dbus-sendpara enviar el mensaje de bloqueo apropiado).
andcoz
@andcoz: Vi algunas dbus-sendcosas mientras buscaba en Google, pero lamentablemente ninguna de ellas funcionó. Incluso miré la referencia de la API de LightDM para encontrar una solución, pero incluso eso no tiene nada. Diablos, incluso intenté mirar la fuente del panel de cambio de usuario de Ubuntu (lo siento, no puedo leer como 1,000,000 de C). Podría intentar enviar un correo electrónico a la lista de desarrolladores para obtener ayuda ...
Blender
@polynomial: Esa parece una buena solución (¿tal vez publicarlo como respuesta?). No tengo una segunda computadora con SSH, pero puedo intentar imprimir la lista de procesos cada segundo para deducir lo que está sucediendo.
Blender

Respuestas:

10

Busqué en Google / envié un correo electrónico un poco y obtuve estos dos comandos.

Para bloquear la pantalla:

xflock4

Para activar el cambio de usuario:

gdmflexiserver

Para Lightdm, este archivo reside en un lugar extraño (al menos en Arch Linux):

/usr/lib/lightdm/lightdm/gdmflexiserver

Combiné estos dos en el cuadro de diálogo del botón de cierre de sesión de XFCE, en caso de que alguien esté interesado, por lo que el parche está disponible aquí: https://aur.archlinux.org/packages.php?ID=52816

Licuadora
fuente
Xflock4 debe tener gnome-screensaver
Prvt_Yadav
4

Puede bloquear todos los protectores de pantalla en X usando xdg-screensaver

xdg-screensaver lock

Se encargará de los detalles sangrientos.

Evan Carroll
fuente
1

Hay varias soluciones simples, independiente-DM como ALock , Slock o xtrlock ( página del manual ). Tenga en cuenta que es posible que ni siquiera muestren ninguna ventana de entrada que solicite la contraseña: simplemente ingrese la contraseña mientras la pantalla está en blanco y presione Entrar ( slockal menos es el caso ).

Si desea que el casillero pueda mostrar un protector de pantalla y mostrar un mensaje personalizado xlockal desbloquear , intente con el paquete xlockmore (consulte esta información y la página de manual ).

rozcietrzewiacz
fuente
No estoy buscando una pantalla de bloqueo (tengo la mía propia plock, para eso: P). Estoy buscando una manera de activar la pantalla de bloqueo (sea lo que sea).
Blender
1
Luego xautolock(que es parte de xlockmore ) proporciona esta funcionalidad: eche un vistazo a los dos últimos enlaces que publiqué y la página de xautolockmanual .
rozcietrzewiacz
1

Para una aplicación de bloqueo i3lockindependiente del entorno, existe una que también le permite configurar el fondo de la pantalla de bloqueo.

Para LightDM, puede ejecutarlo light-lockercomo un proceso en segundo plano en su sesión. Bloqueará su sesión tan pronto como se inicie el protector de pantalla / el sistema reanude la suspensión.

rohit
fuente
0

Esto no es bonito, pero es una solución de trabajo para desbloquear sesiones kde o lightdm desde el protector de pantalla a través de cli (línea de comando):

qdbus | grep kscreenlocker_greet | xargs -I {} qdbus {} /MainApplication quit
Murz
fuente