Comment se réveiller de l'économiseur d'écran directement à l'écran de connexion dans Ubuntu

(Aka Comment changer d'utilisateur sans entrer de mot de passe, partie II) (voir la partie I )

J'ai un Ubuntu 9.10 avec un compte d'utilisateur pour ma femme, et un pour moi-même. "Wake-from-screensaver" devrait entraîner "choisir l'utilisateur" sans avoir à entrer de mot de passe. Je sais comment faire cela dans Windows, mais je ne suis pas bon avec Linux (pour le moment).

Une partie de cela a été répondu dans ma question antérieure qui m'a aidé à passer l'écran de connexion sans mots de passe (après le démarrage et après avoir choisi "changer d'utilisateur"), mais une fois que l'économiseur d'écran démarre et je le réveille, le système ne présente pas L'écran "choisir l'utilisateur". Au lieu de cela, il désactive l'économiseur d'écran et présente le bureau de l'utilisateur le plus récent, ou (si l'économiseur d'écran est configuré pour verrouiller l'écran) demande le mot de passe de l'utilisateur (ce qui peut être largement dépassé en cliquant sur le bouton «changer d'utilisateur» et En choisissant le même utilisateur à nouveau).

Ainsi, l'écran de connexion ("choisir l'utilisateur") a été traité. Comment faire pour que l'économiseur d'écran (de tout) retourne à l'écran de connexion au réveil plutôt qu'au bureau de l'utilisateur actuel? Windows peut faire cela, je suis sûr que Linux peut aussi – mais comment?

Vous n'êtes pas habitué à des ajustements étranges?

Quoi qu'il en soit, c'est étrange, mais intéressant. Je suis désolé de dire que je n'ai pas une solution complète, mais j'ai trouvé quelques éléments intéressants qui justifient une réponse. Ils peuvent vous donner des idées sur l'endroit où aller.

  • Les FAQ de Gnome-Screensaver indiquent que l'économiseur d'écran émet un signal DBus lorsque l'état de ralenti de la session change:

    Existe-t-il un moyen d'effectuer des actions lorsque l'économiseur d'écran s'active ou se désactive? Ou lorsque la session devient inactive?

    L'une des façons est de surveiller les signaux D-Bus de gnome-screensaver. (…)

    La FAQ fournit un exemple de commande dbus-monitor :

    dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver',member='SessionIdleChanged'" 

    Bien que je pense que l' interface et les détails des membres sont obsolètes pour Ubuntu 9.10; Les valeurs appropriées semblent être interface = org.freedesktop.ConsoleKit.Session et member = IdleHintChanged . (Voir la documentation de ConsoleKit .)

    Lorsque le verrouillage de l'écran d'écran est activé, le signal IdleHintChanged est émis après la saisie du mot de passe dans le dialogue de déverrouillage.

  • La commande gdmflexiserver -xnest peut être utilisée à partir de la ligne de commande pour revenir à l'écran de connexion. Il fonctionne uniquement dans votre X session, mais vous pouvez utiliser dbus-launch pour l'exécuter, disons, une session SSH:

     DISPLAY=:0 dbus-launch gdmflexiserver -xnest 

    Cela "active" l'écran de connexion GDM, sans annuler la session utilisateur actuelle, tout comme l'option "Switch User …" (au moins aussi loin que je peux le dire).

L'astuce sera de trouver un moyen de coller ces deux ensemble. Il me semble que ce que vous voudrez faire est essentiellement:

  1. Désactivez le verrouillage de l'économiseur d'écran;
  2. Enregistrez un auditeur avec DBus qui écoute le signal IdleHintChanged sur toutes les sessions;
  3. Demandez à l'auditeur d'exécuter la commande gdmflexiserver lorsqu'il détecte le signal.

L'étape 1 est nécessaire afin que vous n'obteniez pas l'invite du mot de passe. Si l'étape 2 fonctionne correctement et que l'étape 3 démarre, vous obtiendrez la fenêtre de connexion chaque fois que votre système sortira de l'économiseur d'écran. Mais l'étape 2 est ce que je ne suis pas sûr de savoir comment faire.

Je comprends que cette question existe depuis plusieurs années, mais certains utilisateurs peuvent toujours le rechercher.

On peut préférer l'écran de connexion Ubuntu pour verrouiller l'écran au sillage (par exemple, pour ne pas afficher même le fond d'écran sur une maison chiffrée), ce qui est possible dans Ubuntu 12.10 et 13.04 (pas sûr des versions antérieures).

Pour ce faire, ouvrez Dconf Editor (préinstallé sur Ubuntu 12.10+) et allez à:

Org > gnome > bureau > économiseur d'écran

Entrez la commande dbus-launch gdmflexiserver -xnest pour la variable embedded-keyboard-command . Ensuite, vérifiez le clavier intégré activé pour le même schéma.

Je vais devoir fournir ma propre réponse ici, c'est-à-dire qu'il n'y a apparemment pas de solution (facile) à ce que je demande.

Une solution existe potentiellement mais elle n'est pas complète et nécessite une compréhension profonde de Linux – comme on peut le voir dans la première réponse. Donc, ce n'est pas une réponse à l'avance, je me sens bien d'accepter comme «la» réponse.

Question:

Comment faire pour que l'économiseur d'écran (de tout) retourne à l'écran de connexion au réveil plutôt qu'au bureau de l'utilisateur actuel?

Réponse: Vous ne pouvez pas.