กลไกการล็อกหน้าจอภายใต้ KDE คืออะไร


14

ฉันติดตั้ง KDE เดสก์ท็อปบน Ubuntu:

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# 

ฉันแค่อยากรู้ว่าถ้าฉันกด "CTRL + ALT + L" แล้วกระบวนการ / แอปพลิเคชันที่ล็อคหน้าจอคืออะไร ภายใต้ GNOME นี่คือ gnome-screensaver ภายใต้ KDE คืออะไร


ฉันกำลังแสดงความคิดเห็นเพราะฉันไม่ได้ใช้ KDE แต่ฉันเห็นโมดูลที่เรียกว่าkscreensaverอาจเป็นคุณควรps auxที่
sagarchalise

คำตอบ:


27

สำหรับระบบที่ใช้ KDE 4.x ซึ่งจะเป็น

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

สำหรับ Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock

Qdbus ตามที่เขียนไว้ด้านบนเพียงแค่ส่งข้อความบนบัสข้อความซึ่งล็อกเกอร์หน้าจอได้รับ อย่างไรก็ตามคำสั่งจะล็อคหน้าจอ qdbus เพิ่งถามอย่าง "ใครจะล็อคหน้าจอได้มั้ย" ข้อดีของการใช้ qdbus คือรองรับบนแพลตฟอร์มอื่นนอกเหนือจาก KDE ข้อความด้านล่างใช้งานได้กับ KDE4 เท่านั้น

ตอนนี้ดูและเรียนรู้: o)

หากต้องการรายละเอียดเพิ่มเติมเล็กน้อยต้องใช้เล่ห์เหลี่ยมเล็กน้อย:

  • รายการกระบวนการทั้งหมดในขณะที่ปลดล็อคps -ef;
  • ล็อคหน้าจอqdbus ..........;
  • รอสักครู่เพื่อให้หน้าจอถูกล็อค sleep 1
  • จากนั้นแสดงรายการกระบวนการในขณะที่ถูกล็อค ps -ef
  • ค้นหาความแตกต่างระหว่างเอาต์พุตของคำสั่งทั้งสอง diff <( cmd1 ) <( cmd2 )

บรรทัดคำสั่ง:

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

นี่จะแคบลงรายการคำสั่งที่เป็นไปได้เพื่อล็อคหน้าจอใช่ไหม? ตอนนี้คำตอบสำหรับคำถามของคุณนั้นง่ายมาก: ในการล็อคหน้าจอจาก commandline use: /usr/lib/kde4/libexec/kscreenlocker --forcelockblankscrn.kss เป็นกระบวนการลูกของ kscreenlocker ดังนั้น kscreenlocker จึงเป็นหนึ่งในการรัน

ในการดูไวยากรณ์คำสั่ง: /usr/lib/kde4/libexec/kscreenlocker --help

มันทำอะไร มันดึงหน้าต่างสีดำขนาดใหญ่ที่ครอบคลุมทั้งหน้าจอและบังคับให้มันอยู่ด้านบนของทุกสิ่ง มันจับการกดแป้นทั้งหมดและปรากฏขึ้นในกล่องโต้ตอบเข้าสู่ระบบ

ในที่สุดมันก็มาในแพ็คเกจ (kde-workspace-bin)?

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

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


นั่น<()เป็นเคล็ดลับที่เรียบร้อย!
Martin Ueding

qdbus ดูเหมือนว่าจะเสียภายใต้ทะลึ่งqdbus-qt5แต่การทำงานหากคุณติดตั้งแพคเกจ
หอยทากเชิงกล

รักเทคนิคการประมวลผลที่แตกต่าง! ฉันใช้สิ่งที่คล้ายกัน แต่เลือกล็อคเองจากเมนูขณะที่มันกำลังหลับ (เช่นdiff <( ps -ef ) <( sleep 3; ps -ef )
Matthew Wilcoxson

แทนที่จะเขียนสคริปต์คุณสามารถสลับ TTY ด้วย ctrl + alt + F # ในขณะที่หน้าจอถูกล็อกและประมวลผล grep ที่นั่น แต่สคริปต์มันเจ๋ง!
ความโศกเศร้า
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.