Untuk sistem yang menjalankan KDE 4.x itu
qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
Untuk Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock
Qdbus seperti yang ditulis di atas, hanya mengirim pesan pada bus pesan, yang diterima oleh pengunci layar. Namun perintah akan mengunci layar. qdbus hanya bertanya dengan baik, "maukah seseorang mengunci layar?" Keuntungan menggunakan qdbus, adalah didukung pada platform lain selain KDE. Teks di bawah ini hanya berfungsi untuk KDE4.
Sekarang perhatikan dan pelajari: o)
Untuk mengetahuinya dengan sedikit lebih detail, diperlukan sedikit tipu daya bash:
- daftar semua proses saat tidak terkunci
ps -ef
;
- mengunci layar
qdbus ..........
;
- tunggu sebentar untuk mengunci layar
sleep 1
- kemudian daftarkan proses saat terkunci
ps -ef
- temukan perbedaan antara output dari kedua perintah
diff <( cmd1 ) <( cmd2 )
Baris perintah:
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
Ini mempersempit daftar perintah potensial untuk mengunci layar, bukan? Sekarang jawaban untuk pertanyaan Anda sederhana: Untuk mengunci layar dari penggunaan commandline: /usr/lib/kde4/libexec/kscreenlocker --forcelock
blankscrn.kss adalah proses anak dari kscreenlocker, jadi kscreenlocker adalah yang harus dijalankan.
Untuk melihat sintaks perintah:
/usr/lib/kde4/libexec/kscreenlocker --help
Apa itu? Ini pada dasarnya menggambar jendela hitam besar yang menutupi seluruh layar dan memaksa untuk berada di atas segalanya. Ini menangkap semua penekanan tombol dan muncul dialog login.
Akhirnya paket mana yang masuk (kde-workspace-bin)?
$ dpkg -S /usr/lib/kde4/libexec/kscreenlocker
kde-workspace-bin: /usr/lib/kde4/libexec/kscreenlocker
kscreensaver
mungkin Anda harusps aux
bahwa