48 votes

Déverrouiller l'écran de connexion à l'aide de la ligne de commande

Est-il possible de déverrouiller l'écran de connexion Gnome 13.04 Shell à partir de la ligne de commande ? à partir d'une ligne de commande ? Un utilisateur est connecté à Gnome Shell, je peux me connecter à une console en tant que cet utilisateur. Je dispose également d'un accès root.

Cette fonction permet d'accéder à un écran X11 actif via VNC, sans avoir à saisir le mot de passe.

Exécution

gnome-screensaver-command -d

comme suggéré dans un article de blog n'a pas aidé.

login screen

57voto

Mikko Rantalainen Points 2641

Je suppose que vous avez un système linux récent avec systemd (par exemple Ubuntu 16.04 ou plus récent).

Si vous avez besoin de débloquez votre propre session Il suffit d'exécuter loginctl unlock-session (aucune racine n'est requise car il s'agit de votre propre session). Si vous avez plusieurs sessions et que vous souhaitez n'en sélectionner qu'une seule, exécutez la commande suivante loginctl list-sessions afin d'identifier la session et de l'exécuter, par exemple loginctl unlock-session c187 .

Si vous avez besoin de débloquer toutes les sessions Il suffit d'exécuter sudo loginctl unlock-sessions . Notez que cette opération déverrouillera immédiatement TOUTES les sessions, quel que soit l'utilisateur qui exécute l'économiseur d'écran.


Si vous avez besoin de plus d'informations pour identifier la session correcte, vous pouvez essayer quelque chose comme ceci :

loginctl list-sessions --no-legend | while read id rest; do echo; loginctl show-session $id; done

21voto

steeldriver Points 118154

Le problème de l'exécution de commandes telles que gnome-screensaver-command d'une session SSH est généralement qu'ils ne se connectent pas automatiquement au bus de session approprié pour la session de bureau active - généralement, le réglage de la variable DISPLAY résoudra ce problème, par exemple cela fonctionne pour moi (connecté via SSH en tant que le même utilisateur qui possède la session X verrouillée, qui est sur DISPLAY :0) :

$ DISPLAY=:0 gnome-screensaver-command -d

pour déverrouiller, et

$ DISPLAY=:0 gnome-screensaver-command -l

pour verrouiller.

Vous pouvez également basculer l'état actif à l'aide de la fonction dbus-send - par exemple

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

Source : https://people.gnome.org/~mccann/gnome-screensaver/docs/gnome-screensaver.html#gs-examples

7voto

rosch Points 7091

La méthode suivante a fonctionné pour moi :

sudo killall gnome-screensaver

Particulièrement utile lorsque vous êtes connecté via SSH avec un autre utilisateur.

2voto

tamberg Points 111

J'ai eu un problème avec le verrouillage de l'écran (économiseur d'écran) de gnome 3 qui restait bloqué sur un écran vide. J'ai réussi à contourner le problème en remplacer le gestionnaire de fenêtres gnome-Shell.

Ctrl+Alt+F1 et se connecter sur une console virtuelle, puis :

pkill -QUIT gnome-shell
DISPLAY=:0.0 gnome-shell -r &

( & Met en arrière-plan le nouveau gnome-Shell afin que vous puissiez vous déconnecter de la console virtuelle tout en continuant à la faire fonctionner. Vous pouvez également utiliser Ctrl+Z pour suspendre le processus gnome-Shell, et bg pour l'arrière-plan).

Ce n'est peut-être pas très élégant, mais cela m'a enfin permis de revenir à mes applications de bureau sans que gnome ne m'oblige à me déconnecter.

1voto

Scott Points 131

J'ai eu un problème similaire où l'écran de déverrouillage n'acceptait pas la saisie au clavier parfois. La façon dont j'ai finalement résolu le problème a été de tuer la fonction plusieurs gnome-screensaver processus en cours d'exécution, ainsi qu'un processus gnome-screensaver-dialog processus. Je suppose que le processus qui générait 2 sessions de gnome-screensaver perturbait mon écran de déverrouillage. En fait, je suis censé utiliser xscreensaver à la place, et c'est peut-être cela qui a perturbé le processus.

Quoi qu'il en soit, Ctrl+Alt+F1 Rechercher des processus d'économiseur d'écran en cours d'exécution ps -aux | grep screen et les tuer tous. Les commandes gnome et xscreensaver listées dans les autres réponses n'ont pas fonctionné pour moi.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X