KDE 4.x를 실행하는 시스템의 경우
qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
우분투 / 그놈의 경우 : 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
이것은 화면을 잠그는 명령 목록을 좁히지 않습니까? 이제 질문에 대한 대답은 간단합니다. 명령 줄에서 화면을 잠 그려면 /usr/lib/kde4/libexec/kscreenlocker --forcelock
blankscrn.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
kscreensaver
ps aux