2009-05-30 13 views
5

Hey, ich möchte ein Shell-Skript bekommen, das jedes Mal ausgeführt wird, wenn ich meinen Computer auf KDE 4 entsperre. Ich habe gelernt, dass ich einen ausführen kann, indem ich/usr/lib/kde4/libexec/krunner_lock mit einem Shell-Skript überschreibe Ding, dann das Original krunner_lock binary, und ich möchte im Grunde das Gegenteil tun: Starten Sie ein Skript, das "macht", was das Sperr-Skript macht. Ich bin auf Kubuntu 9.04 64-Bit, aber ich schätze Antworten für jedes Betriebssystem, für den Fall, dass ich das gleiche auf dem System machen möchte.Führen Sie ein Skript beim Entsperren?

Antwort

2

Ermittelt auf der KDE forums here. Porges Lösung ist ziemlich nah an der Antwort, aber es ist noch nicht ganz da. Sie haben die Argumente zu übergeben, dass das Skript in der realen krunner_lock empfängt, etwa so: krunner_lock_bin [email protected]

+0

nur neugierig, ob "real krunner_lock" eq ​​"real_krunner_lock" – vol7ron

1

Lesen von this page, es scheint wie krunner_lock läuft so lange wie der Bildschirm gesperrt ist, so sollten Sie in der Lage sein, die Befehle nach der Zeile, die es ausführt, und sie werden ausgeführt, sobald der Bildschirm entsperrt.

z.B.

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

Version für das Jahr 2015, die 14,10 mit dem Desktop-Widgets Schließfach unter Kubuntu funktioniert:

#!/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 

Dies ist für Situation, wenn Sie möchten STRG + ATL + L-Kombination im Bereich Benutzerdefiniert innerhalb der globalen Tastenkombinationen zuweisen.