Запустить скрипт при разблокировке? - PullRequest
5 голосов
/ 30 мая 2009

Эй, я бы хотел, чтобы скрипт оболочки запускался каждый раз, когда я разблокирую свой компьютер в KDE 4. Я узнал, что могу запустить его, переписав / usr / lib / kde4 / libexec / krunner_lock с помощью скрипта оболочки его вещь, затем оригинальный двоичный файл krunner_lock, и я бы хотел сделать наоборот: запустить скрипт, который «отменяет» действия скрипта блокировки. Я нахожусь на 64-битной Kubuntu 9.04, но я ценю ответы для любой операционной системы, на случай, если я когда-нибудь захочу сделать то же самое в этой системе.

Ответы [ 3 ]

2 голосов
/ 20 июня 2009

Разобрался на форумах KDE здесь . Решение Поргеса довольно близко к ответу, но пока не совсем. Вы должны передать аргументы, которые получает скрипт, реальному krunner_lock, например так: krunner_lock_bin $@

1 голос
/ 22 апреля 2015

Версия для 2015 года, которая работает под Kubuntu 14.10 с использованием блокировщика виджетов рабочего стола:

#!/bin/bash

lockpidname="/usr/bin/plasma-overlay --nofork"

$lockpidname

check_slock () {
if [[ $(pgrep -fla $lockpidname) ]]; then 
SLOCKED=1
else
SLOCKED=0
fi
}

while true; do
  sleep 5
  check_slock
  case $SLOCKED  in 
  0) 
  echo "System unlocked run something here"
  break
  ;; 
  esac

done

Это для ситуации, когда вы хотите назначить комбинацию CTRL + ATL + L в разделе Custom в глобальных сочетаниях клавиш.

1 голос
/ 18 июня 2009

Чтение с этой страницы , похоже, что krunner_lock будет работать до тех пор, пока экран заблокирован, поэтому вы сможете размещать команды после строки, которая их запускает, и они будут работать как только экран разблокируется.

, например

#!/bin/bash
...
# do stuff
...
real_krunner_lock # exits once screen unlocks...
...
# undo stuff
...