web-dev-qa-db-fra.com

Comment puis-je verrouiller mon écran dans Gnome 3 sans GDM?

Aucune option "Verrouiller" n'apparaît dans le menu utilisateur et les raccourcis standard (Ctrl+L ou Ctrl+Alt+L) ne fais rien.

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

J'utilise XDM en raison d'un support XDMCP cassé 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. Il dit essentiellement qu'il n'est pas possible d'avoir un verrouillage d'écran intégré dans Gnome 3.8 sans exécuter GDM.

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

52
jcsanyi

Après quelques recherches, je pense que j'ai suffisamment d'informations pour poster une réponse à ma propre question.

Dans Gnome Shell 3.6 et versions antérieures, l'ancien gnome-screensaver le programme était présent, et si GDM n'était pas en cours d'exécution, gnome-screensaver serait invoqué - vous permettant de verrouiller l'écran.

À partir de Gnome Shell 3.8 (inclus dans Fedora 19), gnome-screensaver le support a été complètement supprimé. Cela a été fait pour trois raisons: une complexité de code réduite couplée au fait que l'économiseur d'écran est considéré comme une fonctionnalité inutile, et au fait que le passage éventuel à Wayland nécessitera la prise en charge de l'économiseur d'écran, du verrouillage, etc. pour être dans le compositeur.

Ainsi, le seul moyen intégré par Gnome de verrouiller l'écran est de faire fonctionner GDM, qui répondra à un message dbus lui disant de verrouiller l'écran. D'autres gestionnaires d'affichage (tels que XDM) n'ont pas été conçus pour répondre à ce message dbus, et donc l'écran ne peut 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
41
jcsanyi

Super+L fonctionne dans Fedora 24 qui exécute Gnome 3.20

18
sysadmiral

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

gnome-screensaver-command --lock
15
0__

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

(Remarque: bien que le gnome-screensaver le paquet existe actuellement sur Debian Sid, il ne semble pas être utilisable)

  1. Installez le package xscreensaver (et éventuellement xscreensaver-data et xscreensaver-data-extra)
  2. Exécutez xscreensaver pour 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 saisissez ce que vous voulez comme nom et xscreensaver-command -l comme commande. Cliquez sur OK.
  5. Cliquez sur "Désactivé" et tapez la combinaison de touches que vous souhaitez verrouiller l'écran (la mienne est Ctrl-Alt-L). Assurez-vous que cela n'entre pas en conflit avec le raccourci GDM "Écran de verrouillage" sous "Système".
  6. Profitez de votre écran verrouillable.

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

10
Joel Cross

Une solution que j'ai utilisée avec succès dans debian, ubuntu et rhel7 crée un court python script 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()

Rendez-le ensuite 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
4
aseq

@jcsanyi a donné une explication générale de son fonctionnement.

Pour les gens qui ne peuvent pas utiliser GDM3 pour diverses raisons (disons ce bug ) et qui sont passés à LigthDM, il existe une commande que nous pouvons utiliser pour verrouiller l'écran (cela pourrait peut-être fonctionner avec d'autres DM aussi, je n'ai pas vérifié cependant):

dm-tool lock

Pour le rendre plus pratique, allez à settings -> Keyboard -> Scroll to the bottom -> Click "+" button -> Create new custom shortcut using the command above comme ça.

enter image description here

Utiliser Super+L combinaison, vous devrez probablement réaffecter le système existant Lock screen raccourci vers une autre combinaison.

2
Johnny Doe

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

Pour les bureaux Linux, la touche de raccourci par défaut pour le verrouillage de l'écran est généralement Super-L ou Ctrl-Alt-L. Mais parfois, ils peuvent ne pas fonctionner et vous ne pouvez pas trouver un moyen de verrouiller l'écran. Cela a à voir avec le gestionnaire d'affichage que la machine exécute actuellement. Vous pouvez le vérifier en exécutant $ systemctl status display-manager. Si vous voyez gdm alors le raccourci par défaut devrait fonctionner car ce raccourci est géré par GDM - GNOME Display Manager. Il existe d'autres types de gestionnaires d'affichage tels que lightdm, sddm, lxdm, kdm et xdm. Le raccourci par défaut peut ne pas fonctionner si vous en exécutez un. Cependant, vous pouvez toujours essayer de verrouiller en exécutant $ dm-tool lock et si cela fonctionne, vous pouvez ajouter un raccourci personnalisé pour cette commande. Vous pouvez passer à un autre gestionnaire d'affichage, par exemple, de lightdm à gdm, et si c'est le cas ci-dessous:

$ dnf install gdm
$ systemctl disable lightdm
$ systemctl enable gdm
$ reboot
2
Ivan Huang

Le verrouillage de l'écran a été géré par gnome-screensaver jusqu'à GNOME 3.8. L'application a été déconseillée par l'équipe GNOME et ses fonctionnalités ont été réparties entre gnome-Shell, gnome-session et GDM.

Si vous voulez simplement que les choses fonctionnent, vous aurez peut-être plus de chance d'utiliser xscreensaver .

2
slm

Sans GDM, vous pouvez utiliser i3lock par exemple, ce qui est assez minimaliste. Il doit être installable depuis votre gestionnaire de paquets. Voici ce que j'ai fait:

  1. Créer /usr/bin/blurlock, rendez-le exécutable, c'est un script Shell contenant:
#!/bin/bash
# /usr/bin/blurlock

# take screenshot
import -window root /tmp/screenshot.png

# blur it, grayscale it, delete tempfiles
convert /tmp/screenshot.png -scale 5% -scale 2000% -colorspace Gray /tmp/screenshotblur.png && rm /tmp/screenshot.png && i3lock -i /tmp/screenshotblur.png && rm /tmp/screenshotblur.png

exit 0
  1. Invoquer /usr/bin/blurlock avec un raccourci clavier en allant dans "Raccourcis clavier" dans Gnome, et en liant tout ce que vous voulez à cette commande (j'ai CTRL+ALT+L).
0
pzkpfw

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

Vous pouvez le trouver et le modifier à l'aide de l'onglet "Raccourci" dans l'application "Clavier".

0
Roopak A Nelliat

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

  1. Installer le paquet cinnamon-screensaver
  2. Ajouter /usr/bin/cinnamon-screensaver aux applications de démarrage
  3. Créez un raccourci clavier pour la commande: cinnamon-screensaver-command -l
0
yigitdnz