Comment verrouiller mon écran dans Gnome 3 sans GDM?


50

Il n'y a pas d'option "Verrouiller" dans le menu utilisateur, et les raccourcis standard ( Ctrl+ Lou Ctrl+ Alt+ L) ne font rien.

J'utilise Fedora 19 avec Gnome Shell 3.8.3 et XDM 1.1.11.

J'utilise XDM à cause de la prise en charge de XDMCP dans GDM - mais avant de passer à Fedora 19, j'avais l'option de verrouillage, même lorsque j'utilisais XDM.

J'ai posté une réponse reflétant les résultats de mes propres recherches. En gros, il est impossible d'intégrer Screen-lock dans Gnome 3.8 sans exécuter GDM.

J'espère vraiment qu'il y a une meilleure réponse disponible, alors ajoutez-y votre propre réponse s'il y a un moyen de le faire que j'ai oublié.


1
Essayez Ctrl + Alt + L. Est-ce que ça marche?
m0nhawk

1
@ m0nhawk Non, ça ne marche pas non plus. J'ai mis à jour la question pour refléter cela.
jcsanyi

Etrange, ça marche pour moi. Et qu'est-ce qui est défini dans Paramètres - Clavier - Raccourcis - Système pour Lock screen?
m0nhawk

@ m0nhawk sur Gnome 3.8 sans GDM?
jcsanyi

2
@ m0nhawk Le raccourci est défini sur Ctrl + L- mais cela ne fait rien.
jcsanyi

Réponses:


38

Après quelques recherches, je pense avoir assez d’informations pour pouvoir répondre à ma propre question.

Dans Gnome Shell 3.6 et les versions antérieures, l'ancien gnome-screensaverprogramme était présent et, si GDM n'était pas en cours d'exécution, il gnome-screensaverserait appelé, ce qui vous permettrait de verrouiller l'écran.

Depuis Gnome Shell 3.8 (inclus dans Fedora 19), la gnome-screensaverprise en charge a été complètement supprimée. Cela a été fait pour trois raisons: une complexité de code réduite associée au fait que l'économiseur d'écran est considéré comme une fonctionnalité inutile et au fait que le déplacement éventuel vers Wayland nécessitera un support pour l'économiseur d'écran, le verrouillage, etc., dans le compositeur.

Ainsi, le seul moyen de verrouiller l’écran intégré à Gnome est de faire fonctionner GDM, qui répondra à un message dbus lui demandant de verrouiller l’écran. Les autres gestionnaires d'affichage (tels que XDM) n'ont pas été conçus pour répondre à ce message dbus et l'écran ne peut donc pas être verrouillé.


De ce lien :

Dans les anciennes versions de gnome, la commande gnome-screensaver-command -l verrouillerait votre écran. Comme gnome-screensaver n’est plus dans gnome 3.8, vous devez maintenant envoyer un appel dbus. Je pense que cela est ensuite géré par GDM.

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

2
Merci @slim, mais les commandes que vous avez modifiées ne font rien si vous n'exécutez pas GDM - elles ne permettent pas de répondre à la question.
jcsanyi

2
Bien sûr, j'aimerais quand même voir le contenu du lien importé, au cas où ce site disparaîtrait.
slm

@slim bon point. J'ai édité le contenu comme une citation.
jcsanyi

17

Super+ Lfonctionne dans Fedora 24 qui exécute Gnome 3.20


4
cela fonctionne aussi sur ubuntu gnome, merci :)
daveoncode

OK aussi sur Centos7 / 3.28, bon à savoir.
tonioc

15

Cela fonctionne pour moi dans Gnome 3.14. Installation standard, pas de personnalisation.

gnome-screensaver-command --lock

Il doit être installé dans Gnome 3.26.2, donc si vous ne l' avez pas, sudo apt-get install gnome-screensaver.
Jambe droite le

N'a pas fonctionné pour moi, gdmpas en cours d'exécution car une récente mise à jour l'a cassé (il a fallu passer à sddm ...)
Per Lundberg

10

Comment activer le verrouillage d'écran dans Gnome Shell (3.14) en utilisant xscreensaver (sur Debian):

(Remarque: Bien que le gnome-screensaverpaquet existe actuellement sous sid de Debian, il ne semble pas être utilisable.)

  1. Installez le xscreensaverpaquet (et éventuellement xscreensaver-data et xscreensaver-data-extra)
  2. Exécuter xscreensaverpour configurer l'économiseur d'écran comme vous le souhaitez. Assurez-vous de sélectionner «Verrouiller l'écran après 0 minutes».
  3. Dans les paramètres du clavier GNOME, sélectionnez l’onglet Raccourcis, puis «Raccourcis personnalisés».
  4. Cliquez sur le bouton +, puis entrez ce que vous voulez comme nom et xscreensaver-command -lcomme commande. Cliquez sur OK.
  5. Cliquez sur 'Désactivé' et tapez la combinaison de touches avec laquelle vous souhaitez verrouiller l'écran (la mienne est Ctrl-Alt-L). Assurez-vous que cela n’entre pas en conflit avec le raccourci «Écran verrouillé» de GDM sous «Système».
  6. Profitez de votre écran verrouillable.

Avertissement: les fenêtres de notification seront toujours visibles sur l'écran verrouillé. Si cela vous pose un problème, vous devez trouver une autre solution, telle que l’ extension LightDM Lock Screen .


1
Merci d'avoir fourni cette option. C’est le seul qui ait finalement travaillé pour moi dans Gnome 3.14.1 sur Debian Jessie
sanimalp

Depuis que j'ai écrit cette réponse, j'ai découvert une option différente qui implique l'utilisation mate-screensaver(essentiellement la même chose que l'ancien économiseur d'écran GNOME). Cela nécessite l'écriture d'un faux gestionnaire de session comme décrit ici ).
Joel Cross

4

Un travail que j’ai utilisé avec succès dans debian, ubuntu et rhel7 est la création d’un court script python qui démarre automatiquement lorsque vous vous connectez à la session gnome. Notez que dans rhel7 la combinaison de touches à verrouiller est super + l .

Créez /etc/xdg/autostart/gscreenlock.py comme ceci:

#!/usr/bin/python

import dbus
import dbus.service
import dbus.glib
import gobject
import os

class ScreenDbusObj(dbus.service.Object):
    def __init__(self):
        session_bus = dbus.SessionBus()
        bus_name=dbus.service.BusName("org.gnome.ScreenSaver",bus=session_bus)
        dbus.service.Object.__init__(self,bus_name, '/org/gnome/ScreenSaver')

    @dbus.service.method("org.gnome.ScreenSaver")
    def Lock(self):
        os.system( "xscreensaver-command -lock" )


if __name__ == '__main__':
    object=ScreenDbusObj()
    gobject.MainLoop().run()

Ensuite, rendez-le exécutable:

chmod a+rx /etc/xdg/autostart/gscreenlock.py

Et éditez /etc/xdg/autostart/gscreenlock.desktop comme ceci:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=gscreenlock
TryExec=/etc/xdg/autostart/gscreenlock.py
Exec=/etc/xdg/autostart/gscreenlock.py
NoDisplay=true
NotShowIn=XFCE;KDE;
Comment=Allows screen locking in gnome

2

Le verrouillage d’écran était géré gnome-screensaverjusqu’à GNOME 3.8. L’application est obsolète par l’équipe GNOME et ses fonctionnalités ont été réparties entre gnome-shell, gnome-session et GDM.

Si vous voulez juste que les choses fonctionnent, vous aurez peut-être plus de chance en utilisant xscreensaver.


2

@jcsanyi a expliqué en détail comment cela fonctionne.

Pour les personnes qui ne peuvent pas utiliser GDM3 pour diverses raisons (par exemple, ce bogue ) et qui passent à LigthDM, il existe une commande que nous pouvons utiliser pour verrouiller l’écran (cela pourrait peut-être fonctionner avec d’autres DM également. vérifié cependant):

verrou dm-tool

Pour le rendre plus pratique, allez settings -> Keyboard -> Scroll to the bottom -> Click "+" button -> Create new custom shortcut using the command abovecomme ceci.

entrez la description de l'image ici

Pour utiliser la Super+Lcombinaison, vous devez probablement réaffecter le Lock screenraccourci système existant à une autre combinaison.


Cela a fonctionné pour moi sur Fedora 30 Gnome 3.32.2. Mais je me demande pourquoi ma Fedora utilise lightdm comme gestionnaire d’affichage par défaut au lieu de GDM, et à quel programme le raccourci d’écran de verrouillage par défaut Super+Lest envoyé, car il est présent dans les paramètres mais ne fonctionne toujours pas.
Ivan Huang

2

Cette réponse est basée sur Fedora 30 GNOME 3.32.2

Pour les ordinateurs de bureau Linux, la touche de raccourci par défaut pour le verrouillage de l’écran est Super-Lou Ctrl-Alt-L. Mais parfois, ils peuvent ne pas fonctionner et vous ne pouvez pas trouver un moyen de verrouiller l'écran. Cela concerne le gestionnaire d'affichage actuellement utilisé par la machine. Vous pouvez vérifier cela en courant $ systemctl status display-manager. Si vous voyez gdmalors le raccourci par défaut devrait fonctionner car il est géré par GDM - GNOME Display Manager. Il existe d' autres types de gestionnaires d'affichage tels que lightdm, sddm, lxdm, kdmet xdm. Le raccourci par défaut risque de ne pas fonctionner si vous en utilisez un. Cependant, vous pouvez toujours essayer de verrouiller en exécutant $ dm-tool locket si cela fonctionne, vous pouvez ajouter un raccourci personnalisé pour cette commande. Vous pouvez passer à un autre gestionnaire d'affichage, par exemple, à partir lightdmdegdm, et si oui faire ci-dessous:

$ dnf install gdm
$ systemctl disable lightdm
$ systemctl enable gdm
$ reboot

0

Le raccourci par défaut est Shift+Ctrl+Alt+Lock.

Vous pouvez trouver cela et modifier en utilisant l'onglet "Raccourci" dans l'application "Clavier".


Voir les commentaires. "Le raccourci est défini sur Ctrl + L - mais cela ne fait rien."
sourcejedi

Si votre réponse est que cela a recommencé à fonctionner dans Fedora version X, même si vous utilisez XDM au lieu de GDM, vous devez spécifier quelle est cette version de Fedora :). Bonjour et bienvenue sur StackExchange.
sourcejedi

0

J'ai imaginé une solution de contournement qui fonctionne pour moi sur Debian Buster avec GNOME Shell version 3.30 et avec Lightdm. Je ne sais pas si cela casse quelque chose, mais je n'ai rien remarqué d'inhabituel.

  1. Installer le paquet cinnamon-screensaver
  2. Ajouter /usr/bin/cinnamon-screensaveraux applications de démarrage
  3. Créez un raccourci clavier pour la commande: cinnamon-screensaver-command -l
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.