Đố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 --forcelock
blankscrn.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
kscreensaver
có thể bạn nênps aux
rằng