Что такое механизм блокировки экрана в KDE?

я установил рабочий стол KDE на моей убунту:

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+АЛТ+Л", то какой процесс/приложение, которое блокирует экран? под гном это гном-скринсейвер. Что это в KDE?

14
задан 14 September 2011 в 11:52

8 ответов

Для систем с KDE 4.x, которые будут

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

Для Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock

Qdbus, как указано выше, просто отправляет сообщение в сообщении автобус, который получает шкафчик. Однако команда заблокирует экран. qdbus просто спрашивает: «Кто-нибудь закроет экран?» Преимущество использования qdbus заключается в том, что оно поддерживается на других платформах, кроме KDE. Текст ниже работает только для KDE4.

Теперь смотрите и узнайте: o)

Чтобы понять это немного подробнее, требуется немного обмана bash:

перечислить все процессы при разблокировке 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

27
ответ дан 25 July 2018 в 21:19
  • 1
    Это <() - опрятный трюк! – Martin Ueding 10 September 2012 в 18:02
  • 2
    qdbus , кажется, сломан под Saucy , но он работает, если вы устанавливаете пакет qdbus-qt5. – Mechanical snail 14 November 2013 в 16:10
  • 3
    Полюбите технику диверсификаторов! Я использовал аналогичную вещь, но вручную выбранную блокировку из меню во время сна (т. Е. [F1] – Matthew Wilcoxson 26 November 2014 в 18:06
  • 4
    Вместо написания сценария вы можете просто переключить TTY с помощью ctrl + alt + F #, когда экран заблокирован, и там работает grep. Но сценарий классный! – Grief 18 February 2017 в 16:40

Для систем с KDE 4.x, которые будут

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

Для Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock

Qdbus, как указано выше, просто отправляет сообщение в сообщении автобус, который получает шкафчик. Однако команда заблокирует экран. qdbus просто спрашивает: «Кто-нибудь закроет экран?» Преимущество использования qdbus заключается в том, что оно поддерживается на других платформах, кроме KDE. Текст ниже работает только для KDE4.

Теперь смотрите и узнайте: o)

Чтобы понять это немного подробнее, требуется немного обмана bash:

перечислить все процессы при разблокировке 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

27
ответ дан 31 July 2018 в 10:41
  • 1
    Это <() - опрятный трюк! – Martin Ueding 10 September 2012 в 18:02
  • 2
    qdbus , кажется, сломан под Saucy , но он работает, если вы устанавливаете пакет qdbus-qt5. – Mechanical snail 14 November 2013 в 16:10
  • 3
    Полюбите технику диверсификаторов! Я использовал аналогичную вещь, но вручную выбранную блокировку из меню во время сна (т. Е. [F1] – Matthew Wilcoxson 26 November 2014 в 18:06
  • 4
    Вместо написания сценария вы можете просто переключить TTY с помощью ctrl + alt + F #, когда экран заблокирован, и там работает grep. Но сценарий классный! – Grief 18 February 2017 в 16:40

для систем, работающих в KDE 4.x, который будет

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

для Ubuntu / Гном: qdbus org.gnome.ScreenSaver /ScreenSaver Lock

закройте как написано выше, просто посылает сообщение на шину сообщение, что экран-шкафчик получает. Однако команда будет блокировать экран. закройте просто вежливо просит "кто-нибудь блокировки экрана, пожалуйста?" Преимущество использования закройте, что он поддерживается на другие платформы, чем KDE. Текст ниже работает только для kde4.

теперь смотри и учись :о)

, чтобы выяснить это в немного более подробно, немного баш хитрости не требуется:

список всех процессов, в то время как разблокирован 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.ксс-это процесс, ребенок kscreenlocker, так kscreenlocker является одним бежать.

чтобы посмотреть синтаксис команды: /usr/lib/kde4/libexec/kscreenlocker --help

[dиода d17]что он делает? В основном он рисует большие черные окна, который охватывает весь экран, и это заставляет его быть на вершине всего. Она перехватывает все нажатия клавиш и всплывает диалоговое окно входа.[!dиода d17]

, наконец, какой пакет он приходит в (кде-рабочее место-бин)?

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

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

27
ответ дан 31 July 2018 в 11:45
  • 1
    Это <() - опрятный трюк! – Martin Ueding 10 September 2012 в 18:02
  • 2
    qdbus , кажется, сломан под Saucy , но он работает, если вы устанавливаете пакет qdbus-qt5. – Mechanical snail 14 November 2013 в 16:10
  • 3
    Полюбите технику диверсификаторов! Я использовал аналогичную вещь, но вручную выбранную блокировку из меню во время сна (т. Е. [F1] – Matthew Wilcoxson 26 November 2014 в 18:06
  • 4
    Вместо написания сценария вы можете просто переключить TTY с помощью ctrl + alt + F #, когда экран заблокирован, и там работает grep. Но сценарий классный! – Grief 18 February 2017 в 16:40

Для систем с KDE 4.x, которые будут

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

Для Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock

Qdbus, как указано выше, просто отправляет сообщение в сообщении автобус, который получает шкафчик. Однако команда заблокирует экран. qdbus просто спрашивает: «Кто-нибудь закроет экран?» Преимущество использования qdbus заключается в том, что оно поддерживается на других платформах, кроме KDE. Текст ниже работает только для KDE4.

Теперь смотрите и узнайте: o)

Чтобы понять это немного подробнее, требуется немного обмана bash:

перечислить все процессы при разблокировке 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

27
ответ дан 2 August 2018 в 02:59
  • 1
    Это <() - опрятный трюк! – Martin Ueding 10 September 2012 в 18:02
  • 2
    qdbus , кажется, сломан под Saucy , но он работает, если вы устанавливаете пакет qdbus-qt5. – Mechanical snail 14 November 2013 в 16:10
  • 3
    Полюбите технику диверсификаторов! Я использовал аналогичную вещь, но вручную выбранную блокировку из меню во время сна (т. Е. [F1] – Matthew Wilcoxson 26 November 2014 в 18:06
  • 4
    Вместо написания сценария вы можете просто переключить TTY с помощью ctrl + alt + F #, когда экран заблокирован, и там работает grep. Но сценарий классный! – Grief 18 February 2017 в 16:40

Для систем с KDE 4.x, которые будут

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

Для Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock

Qdbus, как указано выше, просто отправляет сообщение в сообщении автобус, который получает шкафчик. Однако команда заблокирует экран. qdbus просто спрашивает: «Кто-нибудь закроет экран?» Преимущество использования qdbus заключается в том, что оно поддерживается на других платформах, кроме KDE. Текст ниже работает только для KDE4.

Теперь смотрите и узнайте: o)

Чтобы понять это немного подробнее, требуется немного обмана bash:

перечислить все процессы при разблокировке 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

27
ответ дан 4 August 2018 в 18:49
  • 1
    Что <() - это ловкий трюк! – Martin Ueding 10 September 2012 в 18:02
  • 2
    qdbus , кажется, сломан под Saucy , но он работает, если вы устанавливаете пакет qdbus-qt5. – Mechanical snail 14 November 2013 в 16:10
  • 3
    Полюбите технику диверсификаторов! Я использовал аналогичную вещь, но вручную выбранную блокировку из меню во время сна (т. Е. [F1] – Matthew Wilcoxson 26 November 2014 в 18:06
  • 4
    Вместо написания сценария вы можете просто переключить TTY с помощью ctrl + alt + F #, когда экран заблокирован, и там работает grep. Но сценарий классный! – Grief 18 February 2017 в 16:40

Для систем с KDE 4.x, которые будут

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

Для Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock

Qdbus, как указано выше, просто отправляет сообщение в сообщении автобус, который получает шкафчик. Однако команда заблокирует экран. qdbus просто спрашивает: «Кто-нибудь закроет экран?» Преимущество использования qdbus заключается в том, что оно поддерживается на других платформах, кроме KDE. Текст ниже работает только для KDE4.

Теперь смотрите и узнайте: o)

Чтобы понять это немного подробнее, требуется немного обмана bash:

перечислить все процессы при разблокировке 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

27
ответ дан 6 August 2018 в 03:12
  • 1
    Это <() - опрятный трюк! – Martin Ueding 10 September 2012 в 18:02
  • 2
    qdbus , кажется, сломан под Saucy , но он работает, если вы устанавливаете пакет qdbus-qt5. – Mechanical snail 14 November 2013 в 16:10
  • 3
    Полюбите технику диверсификаторов! Я использовал аналогичную вещь, но вручную выбранную блокировку из меню во время сна (т. Е. [F1] – Matthew Wilcoxson 26 November 2014 в 18:06
  • 4
    Вместо написания сценария вы можете просто переключить TTY с помощью ctrl + alt + F #, когда экран заблокирован, и там работает grep. Но сценарий классный! – Grief 18 February 2017 в 16:40

Для систем с KDE 4.x, которые будут

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

Для Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock

Qdbus, как указано выше, просто отправляет сообщение в сообщении автобус, который получает шкафчик. Однако команда заблокирует экран. qdbus просто спрашивает: «Кто-нибудь закроет экран?» Преимущество использования qdbus заключается в том, что оно поддерживается на других платформах, кроме KDE. Текст ниже работает только для KDE4.

Теперь смотрите и узнайте: o)

Чтобы понять это немного подробнее, требуется немного обмана bash:

перечислить все процессы при разблокировке 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

27
ответ дан 7 August 2018 в 20:54
  • 1
    Это <() - опрятный трюк! – Martin Ueding 10 September 2012 в 18:02
  • 2
    qdbus , кажется, сломан под Saucy , но он работает, если вы устанавливаете пакет qdbus-qt5. – Mechanical snail 14 November 2013 в 16:10
  • 3
    Полюбите технику диверсификаторов! Я использовал аналогичную вещь, но вручную выбранную блокировку из меню во время сна (т. Е. [F1] – Matthew Wilcoxson 26 November 2014 в 18:06
  • 4
    Вместо написания сценария вы можете просто переключить TTY с помощью ctrl + alt + F #, когда экран заблокирован, и там работает grep. Но сценарий классный! – Grief 18 February 2017 в 16:40

Для систем с KDE 4.x, которые будут

qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

Для Ubuntu / Gnome: qdbus org.gnome.ScreenSaver /ScreenSaver Lock

Qdbus, как указано выше, просто отправляет сообщение в сообщении автобус, который получает шкафчик. Однако команда заблокирует экран. qdbus просто спрашивает: «Кто-нибудь закроет экран?» Преимущество использования qdbus заключается в том, что оно поддерживается на других платформах, кроме KDE. Текст ниже работает только для KDE4.

Теперь смотрите и узнайте: o)

Чтобы понять это немного подробнее, требуется немного обмана bash:

перечислить все процессы при разблокировке 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

27
ответ дан 10 August 2018 в 09:15
  • 1
    Это <() - опрятный трюк! – Martin Ueding 10 September 2012 в 18:02
  • 2
    qdbus , кажется, сломан под Saucy , но он работает, если вы устанавливаете пакет qdbus-qt5. – Mechanical snail 14 November 2013 в 16:10
  • 3
    Полюбите технику диверсификаторов! Я использовал аналогичную вещь, но вручную выбранную блокировку из меню во время сна (т. Е. [F1] – Matthew Wilcoxson 26 November 2014 в 18:06
  • 4
    Вместо написания сценария вы можете просто переключить TTY с помощью ctrl + alt + F #, когда экран заблокирован, и там работает grep. Но сценарий классный! – Grief 18 February 2017 в 16:40

Другие вопросы по тегам:

Похожие вопросы: