web-dev-qa-db-fra.com

Déverrouiller gnome-screensaver au lieu de désactiver

J'ai donc essayé de créer une clé USB pour ma machine.

J'ai utilisé PAM-Usb comme décrit dans de nombreux endroits sur Internet (par exemple celui-ci , qui est fondamentalement copypasté partout). Je comprends ce qui se passe là-bas et c'est plutôt chouette.

Mon problème est - si je verrouille l'écran (avec un bouton, en débranchant l'USB ou avec gnome-screensaver-command -l), alors gnome-screensaver-command -d ne me ramènera pas à mon bureau, mais réveillera plutôt le moniteur. Je dois toujours fournir un mot de passe - et je ne le souhaite pas lorsque je connecte une clé USB.

Je ne veux pas désactiver le mot de passe Invite au déverrouillage. Je veux que mon ordinateur soit librement accessible à tout moment lorsque la clé USB est branchée et accessible avec un mot de passe dans les autres cas.

La question est donc: comment débloquer gnome-screensaver avec une ligne de commande?

PS Chose amusante: si j'utilise une clé USB, je n'ai pas à fournir de mot de passe pour me connecter. D'autre part, il est nécessaire de le déverrouiller. Je comprends pourquoi cela arrive, mais quand même, ça a l'air bizarre.

== EDIT ==

J'ai oublié: j'utilise Ubuntu 15.04 en clair (c'est-à-dire basé sur Unity). Aucune modification liée à l'économiseur d'écran n'a été effectuée.

4
Filip Malczak

Ubuntu 14.04+ n’utilise plus gnome-screensaver, c’est pourquoi gnome-screensaver-command -d risque de ne pas fonctionner (probablement, je ne suis pas sûr, mais Ubuntu a remplacé l’ancien gnome-screensaver par quelque chose de nouveau et cette commande ne fonctionne pas actuellement) . Vous pouvez verrouiller et déverrouiller votre ordinateur à l'aide de dbus.

Fermer à clé:

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

Ouvrir:

dbus-send --session --dest=org.gnome.ScreenSaver --type=method_call --print-reply --reply-timeout=20000 /org/gnome/ScreenSaver org.gnome.ScreenSaver.SetActive boolean:false

Il devrait déverrouiller sans demander de mot de passe.

2
kurogetsusai

En 15.04, l'écran de verrouillage est mis en œuvre dans l'unité.

Il semble que libpam_usb ne soit pas explicitement lié à libpam, car il s’attend (faussement) à ce que le programme qui l’utilise ait déjà libpam chargé. C’est le cas pour la plupart des programmes (Sudo, lightdm, etc.), mais pas pour Compiz. Un changement dans le makefile de libpam-usb et une recompilation sont nécessaires pour le réparer.

Pour contourner le problème, vous pouvez éditer /usr/share/applications/compiz.desktop et remplacer

Exec=compiz

avec

Exec=/bin/sh -c "LD_PRELOAD=libpam.so compiz"

0
user448115