Làm cách nào để khóa màn hình trong Gnome 3 mà không cần GDM?


50

Không có tùy chọn "Khóa" hiển thị trong menu người dùng và các phím tắt tiêu chuẩn ( Ctrl+ Lhoặc Ctrl+ Alt+ L) không làm gì cả.

Tôi đang chạy Fedora 19 với Gnome Shell 3.8.3 và XDM 1.1.11.

Tôi đang sử dụng XDM do hỗ trợ XDMCP bị hỏng trong GDM - nhưng trước khi tôi nâng cấp lên Fedora 19, tôi đã có tùy chọn khóa, ngay cả khi sử dụng XDM.

Tôi đã đăng một câu trả lời phản ánh kết quả nghiên cứu của riêng tôi. Về cơ bản nó nói rằng không thể có khóa màn hình được tích hợp vào Gnome 3.8 mà không chạy GDM.

Tôi thực sự hy vọng có sẵn câu trả lời tốt hơn - vì vậy vui lòng thêm câu trả lời của riêng bạn nếu có bất kỳ cách nào để làm điều này mà tôi bỏ qua.


1
Hãy thử Ctrl + Alt + L. Nó có hoạt động không?
m0nhawk

1
@ m0nhawk Không, điều đó cũng không hoạt động. Tôi đã cập nhật câu hỏi để phản ánh điều đó.
jcsanyi

Lạ thật, nó làm việc cho tôi. Và những gì được đặt trong Cài đặt - Bàn phím - Phím tắt - Hệ thống để làm Lock screengì?
m0nhawk

@ m0nhawk trên Gnome 3.8 không có GDM?
jcsanyi

2
@ m0nhawk Phím tắt được đặt thành Ctrl + L- nhưng điều đó không làm gì cả.
jcsanyi

Câu trả lời:


38

Sau một số nghiên cứu, tôi nghĩ rằng tôi đã có đủ thông tin để đăng câu trả lời cho câu hỏi của riêng tôi.

Trong Gnome Shell 3.6 trở về trước, gnome-screensaverchương trình cũ đã có mặt và nếu GDM không chạy, gnome-screensaversẽ được gọi - cho phép bạn khóa màn hình.

Bắt đầu từ Gnome Shell 3.8 (bao gồm trong Fedora 19), gnome-screensaverhỗ trợ đã bị loại bỏ hoàn toàn. Điều này được thực hiện vì ba lý do: giảm độ phức tạp của mã cùng với thực tế là trình bảo vệ màn hình được xem là một tính năng không cần thiết và thực tế là việc di chuyển đến Wayland cuối cùng sẽ yêu cầu trình bảo vệ màn hình, khóa, v.v.

Vì vậy, cách duy nhất để tích hợp màn hình Gnome là chạy GDM, nó sẽ phản hồi với một thông báo dbus bảo nó khóa màn hình. Các trình quản lý hiển thị khác (như XDM) chưa được thiết kế để trả lời tin nhắn dbus này và do đó màn hình không thể bị khóa.


Từ liên kết này :

Trong các phiên bản cũ của gnome, lệnh gnome-Screensaver-lệnh -l sẽ khóa màn hình của bạn. Vì gnome-Screensaver không còn nữa trong gnome 3.8, giờ bạn phải gửi một cuộc gọi dbus. Tôi nghĩ rằng điều này sau đó được xử lý bởi GDM.

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

2
Cảm ơn @slim, nhưng các lệnh bạn đã chỉnh sửa không thực sự làm gì trừ khi bạn đang chạy GDM - chúng không giúp trả lời câu hỏi.
jcsanyi

2
Chắc chắn, tôi vẫn muốn xem nội dung của liên kết được đưa vào, trong trường hợp trang web đó biến mất.
slm

@slim điểm tốt. Tôi chỉnh sửa lại nội dung như một trích dẫn.
jcsanyi

17

Super+ Lhoạt động trong Fedora 24 đang chạy Gnome 3.20


4
cái này cũng hoạt động trên
ubfox

Cũng OK trên Centos7 / 3.28, tốt để biết.
tonioc

15

Điều này làm việc cho tôi trong Gnome 3.14. Cài đặt tiêu chuẩn, không tùy biến.

gnome-screensaver-command --lock

Nó cần được cài đặt trong Gnome 3.26.2, vì vậy nếu bạn không có nó , sudo apt-get install gnome-screensaver.
Chân phải

Không hoạt động với tôi, gdmkhông chạy vì một bản cập nhật gần đây đã phá vỡ nó (phải chuyển sang sddm ...)
Per Lundberg

10

Cách bật tính năng khóa màn hình trong Gnome Shell (3.14) bằng xscreenaver (trên Debian):

(Lưu ý: Mặc dù gnome-screensavergói hiện đang tồn tại trên sid Debian, nhưng dường như không thể sử dụng được)

  1. Cài đặt xscreensavergói (và tùy chọn xscreenaver-data và xscreenaver-data-thêm)
  2. Chạy xscreensaverđể cấu hình trình bảo vệ màn hình theo cách bạn muốn. Đảm bảo chọn 'Khóa màn hình sau 0 phút'.
  3. Trong cài đặt bàn phím Gnome, chọn tab Phím tắt, sau đó 'Phím tắt tùy chỉnh'
  4. Nhấp vào nút +, sau đó nhập bất cứ thứ gì bạn muốn làm tên và xscreensaver-command -llàm lệnh. Nhấn OK.
  5. Nhấp vào 'Đã tắt' và nhập tổ hợp phím bạn muốn khóa màn hình (của tôi là Ctrl-Alt-L). Đảm bảo rằng điều này không xung đột với phím tắt 'Màn hình khóa' của GDM trong 'Hệ thống'.
  6. Thưởng thức màn hình có thể khóa của bạn.

Hãy cẩn thận: Cửa sổ thông báo sẽ vẫn hiển thị trên màn hình bị khóa. Nếu đây là vấn đề với bạn, bạn sẽ cần tìm một giải pháp khác như tiện ích mở rộng Màn hình khóa LightDM .


1
Cảm ơn đã cung cấp tùy chọn này. Đây là người duy nhất kết thúc làm việc với tôi trong Gnome 3.14.1 trên Debian Jessie
sanimalp

Kể từ khi tôi viết câu trả lời này, tôi đã phát hiện ra một tùy chọn khác liên quan đến việc sử dụng mate-screensaver(về cơ bản giống như trình bảo vệ màn hình Gnome cũ). Điều này đòi hỏi phải viết một trình quản lý phiên giả như được mô tả ở đây ).
Joel Cross

4

Một công việc xung quanh tôi đã sử dụng thành công trong debian, ubfox và rhel7 đang tạo một tập lệnh python ngắn bắt đầu tự động khi bạn đăng nhập vào phiên gnome. Lưu ý rằng trong rrc7, tổ hợp phím để khóa là super + l .

Tạo /etc/xdg/autostart/gscreenlock.py như thế này:

#!/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()

Sau đó làm cho nó thực thi:

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

Và chỉnh sửa /etc/xdg/autostart/gscreenlock.desktop như thế này:

[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

Khóa màn hình đã được xử lý gnome-screensavercho đến khi Gnome 3.8. Ứng dụng này đã bị nhóm Gnome phản đối và chức năng của nó đã được phân chia giữa gnome-shell, gnome-session và GDM.

Nếu bạn chỉ muốn làm cho mọi thứ hoạt động, bạn có thể có may mắn hơn bằng cách sử dụng xscreensaver.


2

@jcsanyi đã đưa ra một lời giải thích nền tảng về cách thức hoạt động của nó.

Đối với những người không thể sử dụng GDM3 vì nhiều lý do (giả sử lỗi này ) và chuyển sang LigthDM, có một lệnh chúng ta có thể sử dụng để khóa màn hình (có thể nó cũng có thể hoạt động với DM khác, tôi không kiểm tra mặc dù):

khóa công cụ dm

Để làm cho nó thuận tiện hơn đi settings -> Keyboard -> Scroll to the bottom -> Click "+" button -> Create new custom shortcut using the command abovenhư thế này.

nhập mô tả hình ảnh ở đây

Để sử dụng Super+Lkết hợp, bạn có thể phải gán lại Lock screenlối tắt hệ thống hiện có cho một số kết hợp khác.


Điều này làm việc cho tôi trên Fedora 30 Gnome 3.32.2. Nhưng tôi tự hỏi tại sao Fedora của tôi có lightdm với tư cách là trình quản lý hiển thị chạy mặc định thay vì GDM, và chương trình nào lối tắt màn hình khóa mặc định Super+Lđược gửi đến mặc dù nó có trong Cài đặt nhưng dù sao cũng không hoạt động.
Ivan Huang

2

Câu trả lời này dựa trên Fedora 30 Gnome 3.32.2

Đối với máy tính để bàn Linux thường phím tắt mặc định cho khóa màn hình là Super-Lhoặc Ctrl-Alt-L. Nhưng đôi khi chúng có thể không hoạt động và bạn không thể tìm cách khóa màn hình. Điều này phải làm với trình quản lý hiển thị mà máy hiện đang chạy. Bạn có thể kiểm tra bằng cách chạy $ systemctl status display-manager. Nếu bạn thấy gdmthì lối tắt mặc định sẽ hoạt động vì lối tắt này được xử lý bởi GDM - Trình quản lý hiển thị Gnome. Có nhiều loại khác của các nhà quản lý hiển thị như lightdm, sddm, lxdm, kdm, và xdm. Phím tắt mặc định có thể không hoạt động nếu bạn đang chạy một trong số chúng. Tuy nhiên, bạn luôn có thể cố gắng khóa bằng cách chạy $ dm-tool lockvà nếu nó hoạt động, bạn có thể thêm một phím tắt tùy chỉnh cho lệnh này. Bạn có thể muốn chuyển sang một trình quản lý hiển thị khác, ví dụ, từ lightdmsanggdmvà nếu có thì làm dưới đây:

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

0

Phím tắt mặc định là Shift+Ctrl+Alt+Lock.

Bạn có thể tìm thấy cái này và chỉnh sửa bằng tab "Phím tắt" trong ứng dụng "Bàn phím".


Xem ý kiến. "Phím tắt được đặt thành Ctrl + L - nhưng điều đó không làm gì cả."
nguồn

Nếu câu trả lời của bạn là điều này đã bắt đầu hoạt động trở lại trong Fedora phiên bản X ngay cả khi sử dụng XDM thay vì GDM, bạn cần chỉ định phiên bản Fedora đó là gì :). Xin chào và chào mừng đến với StackExchange.
nguồn

0

Tôi đã tìm ra một cách giải quyết phù hợp với tôi trên Debian Buster với phiên bản Gnome Shell 3.30 và với Lightdm. Tôi không biết nếu điều này phá vỡ bất cứ điều gì nhưng tôi không nhận thấy điều gì bất thường.

  1. Cài đặt gói cinnamon-screensaver
  2. Thêm /usr/bin/cinnamon-screensavervào các ứng dụng khởi động
  3. Tạo một phím tắt cho lệnh: cinnamon-screensaver-command -l
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.