Выполнить команды после разблокировки экрана X (KDE)

Когда я оставляю работу, я блокирую свою машину ctrl + l, чтобы заблокировать экран. Когда я возвращаюсь, я всегда забываю войти в jabber. Есть ли способ запустить команду после разблокировки экрана? Это в KDE. Я не уверен, что механизм блокировки – это функция X или функция KDE, поэтому я не уверен, где искать.

  • Почему сочетания клавиш не работают, когда активировано подменю?
  • Выключает мониторы с помощью команды оболочки
  • Взаимодействие с приложениями X программно
  • Программа классной книги, которая работает на gentoo
  • X11 переадресация приложения OpenGL с компьютера, на котором установлена ​​карта NVIDIA, на машину с картой AMD
  • Ошибка сегментации при выполнении команды в rc.local
  • xkbmap remap PrtScr и Insert Keys to Home и Escape
  • Одновременная запись в файл журнала из многих процессов
  • 2 Solutions collect form web for “Выполнить команды после разблокировки экрана X (KDE)”

    У меня было желание сделать банши (музыкальный проигрыватель Gnome) паузой / паузой, когда экран был заблокирован / разблокирован. Я нашел билет в проекте пусковой панели banshee:

    https://bugs.launchpad.net/banshee/+bug/237687

    Кто-то создал скрипт, который заметил бы (через DBus), если бы экран был (un) заблокирован и вызвал бы banshee для (un) паузы. Я добавил небольшую настройку к этому скрипту и использовал его некоторое время. Я добавил обновленную копию этого билета.

    Теперь я знаю, что это не совсем то, что вы хотите сделать. Но вы, вероятно, могли бы взять этот скрипт python (который уже обнаруживает блокировки / разблокировки экрана) и немного изменить его, чтобы сделать то, что вы хотели бы сделать. Также я понимаю, что заставка KDE поддерживает тот же интерфейс DBus, что и заставка gnome. Кажется, что лучшая документация для KDE-вещей здесь:

    http://quickgit.kde.org/?p=kde-workspace.git&a=blob&f=krunner/screensaver/saverengine.h

    Удачи!

    Для XScreenSaver решение – xscreensaver-command -watch

    man xscreensaver-command содержит пример Perl-скрипта для обработки различных событий заставки и блокировки экрана, таких как BLANK, LOCK, UNBLANK и т. д.

    Вот он – пример, включающий звук и заставку:

      #!/usr/bin/perl my $blanked = 0; open (IN, "xscreensaver-command -watch |"); while (<IN>) { if (m/^(BLANK|LOCK)/) { if (!$blanked) { system "sound-off"; $blanked = 1; } } elsif (m/^UNBLANK/) { system "sound-on"; $blanked = 0; } } 

    Не уверен, что KDE использует XScreenSaver.

    Linux и Unix - лучшая ОС в мире.