Cơ chế khóa màn hình theo KDE là gì?


14

Tôi đã cài đặt máy tính để bàn KDE trên Ubuntu của mình:

root@DESKTOP:/var/log# dpkg -l|fgrep -i kde-plasma-desktop
ii  kde-plasma-desktop                      5:63ubuntu16                               the KDE Plasma Desktop and minimal set of applications
root@DESKTOP:/var/log# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 11.04
Release:    11.04
Codename:   natty
root@DESKTOP:/var/log# 

Tôi chỉ muốn biết rằng nếu tôi nhấn "CTRL + ALT + L" thì quá trình / ứng dụng khóa màn hình là gì? trong Gnome, nó là trình bảo vệ màn hình gnome. Nó thuộc KDE là gì?


Tôi cho ý kiến vì tôi không sử dụng KDE nhưng tôi thấy một module gọi là kscreensavercó thể bạn nên ps auxrằng
sagarchalise

Câu trả lời:


27

Đối với các hệ thống chạy KDE 4.x sẽ là

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

Đối với Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock

Qdbus như đã viết ở trên, chỉ cần gửi một tin nhắn trên bus tin nhắn mà trình khóa màn hình nhận được. Lệnh tuy nhiên sẽ khóa màn hình. qdbus chỉ hỏi độc đáo "ai đó sẽ khóa màn hình chứ?" Ưu điểm của việc sử dụng qdbus là nó được hỗ trợ trên các nền tảng khác ngoài KDE. Văn bản dưới đây chỉ hoạt động cho KDE4.

Bây giờ hãy xem và học hỏi: o)

Để tìm hiểu điều này chi tiết hơn một chút, cần có một chút mánh khóe bash:

  • liệt kê tất cả các quy trình trong khi mở khóa ps -ef;
  • khóa màn hình qdbus ..........;
  • chờ một lát để màn hình bị khóa sleep 1
  • sau đó liệt kê các tiến trình trong khi bị khóa ps -ef
  • tìm sự khác biệt giữa đầu ra của cả hai lệnh diff <( cmd1 ) <( cmd2 )

Dòng lệnh:

diff <( ps -ef ) <( qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock; sleep 1; ps -ef )

0a1
> 
242d242
< jhendrix 17088 16352  0 21:11 pts/4    00:00:00 /bin/bash
245,246c245,247
< jhendrix 17091 17088  0 21:11 pts/4    00:00:00 ps -ef
< jhendrix 17092 17089  0 21:11 pts/4    00:00:00 qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
---
> jhendrix 17093  2801 11 21:11 ?        00:00:00 /usr/lib/kde4/libexec/kscreenlocker --forcelock
> jhendrix 17095 17093 11 21:11 ?        00:00:00 kblankscrn.kss -root
> jhendrix 17099 17089  0 21:11 pts/4    00:00:00 ps -ef

Điều này thu hẹp danh sách các lệnh tiềm năng để khóa màn hình, phải không? Bây giờ câu trả lời cho câu hỏi của bạn rất đơn giản: Để khóa màn hình khỏi dòng lệnh sử dụng: /usr/lib/kde4/libexec/kscreenlocker --forcelockblankscrn.kss là một quá trình con của kscreenlocker, vì vậy kscreenlocker là một bước để chạy.

Để xem cú pháp lệnh: /usr/lib/kde4/libexec/kscreenlocker --help

Những gì nó làm? Về cơ bản, nó vẽ một cửa sổ lớn màu đen bao phủ toàn bộ màn hình và buộc nó phải ở trên mọi thứ. Nó bắt tất cả các tổ hợp phím và bật lên hộp thoại đăng nhập.

Cuối cùng gói nào đi kèm (kde-workspace-bin)?

$ dpkg -S /usr/lib/kde4/libexec/kscreenlocker

kde-workspace-bin: /usr/lib/kde4/libexec/kscreenlocker


Đó <()là một mẹo gọn gàng!
Martin Uting

qdbus dường như bị phá vỡ dưới Saucy , nhưng nó hoạt động nếu bạn cài đặt gói qdbus-qt5.
Ốc cơ khí

Yêu kỹ thuật xử lý khác! Tôi đã sử dụng một thứ tương tự, nhưng đã chọn khóa thủ công từ menu trong khi nó đang ngủ (tức làdiff <( ps -ef ) <( sleep 3; ps -ef )
Matthew Wilcoxson

Thay vì viết tập lệnh, bạn chỉ có thể chuyển TTY bằng ctrl + alt + F # trong khi màn hình bị khóa và grep xử lý ở đó. Nhưng kịch bản là mát mẻ!
Đau buồn
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.