Verrouiller l'écran via CLI?

8

Existe-t-il un moyen de verrouiller l'écran de style CLI? J'essaie de cibler autant de gestionnaires de bureau que possible (principalement LightDM, mais GDM, KDM, SLiM, XScreensaver, etc. serait également bien), mais je ne peux que creuser les choses pour GDM et XScreensaver.

Pour GDM, ce serait:

gnome-screensaver-command -l

Pour XScreensaver:

xscreensaver-command -lock

Existe-t-il une commande similaire pour KDM et LightDM?

Mixeur
la source
Pouvez-vous démarrer l'économiseur d'écran et ssh dans et ps et voir quel économiseur d'écran est en cours d'exécution et en déduire quelle commande exécuter? (comment j'ai trouvé la commande gnome-screensaver)
polynôme
1
man lightdmne semble pas trop prometteur ... moleberry.com/man/l/lightdm.1.html
jasonwryan
Vous pouvez peut-être essayer de les contrôler via d-bus (en utilisant dbus-sendpour envoyer le message de verrouillage approprié).
andcoz
@andcoz: J'ai vu quelques dbus-sendchoses pendant la recherche sur Google, mais malheureusement aucune n'a fonctionné. J'ai même regardé la référence de l'API LightDM pour une solution, mais même cela n'a rien. Heck, j'ai même essayé de regarder la source du panneau de commutation utilisateur d'Ubuntu (désolé, ne peut pas lire comme 1000000 de C). Je pourrais essayer d'envoyer un e-mail à la liste des développeurs pour obtenir de l'aide ...
Blender
@polynomial: Cela semble être une bonne solution (peut-être l'afficher comme réponse?). Je n'ai pas de deuxième ordinateur avec SSH, mais je peux essayer d'imprimer la liste des processus toutes les secondes environ pour déduire ce qui se passe.
Blender

Réponses:

10

J'ai googlé / envoyé un e-mail un peu et j'ai obtenu ces deux commandes.

Pour verrouiller l'écran:

xflock4

Pour activer le changement d'utilisateur:

gdmflexiserver

Pour Lightdm, ce fichier réside dans un endroit étrange (au moins sur Arch Linux):

/usr/lib/lightdm/lightdm/gdmflexiserver

J'ai fusionné ces deux dans la boîte de dialogue du bouton de déconnexion de XFCE, au cas où quelqu'un serait intéressé, donc le patch est disponible ici: https://aur.archlinux.org/packages.php?ID=52816

Mixeur
la source
Xflock4 doit avoir gnome-screensaver
Prvt_Yadav
4

Vous pouvez verrouiller tous les économiseurs d'écran sur X en utilisant xdg-screensaver

xdg-screensaver lock

Il s'occupera des détails sanglants.

Evan Carroll
la source
1

Il existe plusieurs solutions simples DM indépendantes, comme alock , slock ou xtrlock ( manpage ). Notez qu'ils peuvent même ne pas afficher de fenêtre de saisie demandant un mot de passe - vous entrez simplement le mot de passe alors que l'écran est vide et appuyez sur Entrée (c'est le cas d' slockau moins).

Si vous souhaitez que le casier puisse afficher un économiseur d'écran et afficher une invite personnalisée sur le déverrouillage , essayez de xlockfournir le paquet xlockmore (voir ces informations et la page de manuel ).

rozcietrzewiacz
la source
Je ne cherche pas d'écran de verrouillage (j'ai le mien plock, pour ça: P). Je cherche un moyen de déclencher le verrouillage de l'écran (quel qu'il soit).
Blender
1
Ensuite xautolock(qui fait partie de xlockmore ) fournit cette fonctionnalité - jetez un œil aux deux derniers liens que j'ai publiés et à la xautolockpage de manuel .
rozcietrzewiacz
1

Pour une application de verrouillage indépendante de l'environnement, il y a i3lockqui vous permet également de définir l'arrière-plan de l'écran de verrouillage.

Pour LightDM, vous pouvez exécuter light-lockerun processus d'arrière-plan dans votre session. Il verrouillera votre session dès que l'économiseur d'écran démarre / le système sort de la suspension.

rohit
la source
0

Ce n'est pas joli, mais une solution de travail pour déverrouiller une session kde ou lightdm à partir de l'économiseur d'écran via cli (ligne de commande):

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