testifix •->
![•-> •->](/phpBB2/images/ranks/ranki0.gif)
Anmeldedatum: 02.10.2011 Beiträge: 2
|
Verfasst am: 03.10.2011 - 00:10 Titel: TrueCrypt einbinden-Warten, bis User eingeloggt ist + 30 sek |
|
|
Hi,
per Chronosync (Synchronisationstool) möchte ich einen TrueCrypt container einbinden um meine Daten in ein verschlüsseltes Laufwerk zu synchronisieren. Chronosync hat einen integrierten Zeitplaner, der, sobald der Rechner eingeschaltet ist, ein Applescript ausführt.
Wird das Skript ausgeführt, wenn ich eingeloggt bin, dann geht alles gut. Leider gibt Truecrypt mir aber ein duzend unterschiedlicher Fehlermeldungen, wenn die Synchronisation dann beginnen soll, wenn der Rechner zwar läuft, aber ich ausgeloggt bin (z.B. "HDIUtil Failed - keine aktivierbaren Dateisysteme")
Ich habe mir daher gedacht, das problem könnte so gelöst werden, dass mein Applescript welches für die Einbindung des Containers verantwortlich ist, mit dem Einbinden wartet, bis der User eingeloggt ist, und dann noch einmal 30 sekunden (zur Sicherheit).
Leider habe ich keine Ahnung, wie ich per Skript feststellen kann, dass der User eingeloggt ist. Weiss jemand eine Möglichkeit? Ansonsten wäre natürlich auch eine Möglichkeit, dass ich einen Stopp einbaue, der darauf wartet, bis der "Finder" erstmals aktiviert wird - weiss jemand, wie man eine derartige Warteschleife hinkriegen könnte?
Vielen Dank im Voraus,
Testifix
Code: |
# Rücke das Skript in den Hintergrund und aktiviere letztes aktiviertes Fenster
tell application "System Events"
keystroke tab using {command down}
end tell
# HIER SOLLTE DAS SKRIPT WARTEN, BIS DER USER EINGELOGGT IST, ODER DER FINDER AKTIVIERT WIRD
delay 30
tell application "Terminal"
run
do shell script "/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt --mount /Users/Username/Dropbox/ContainerName --password=PASSW123"
quit
end tell
set i to 0
repeat until (list disks) contains "NO NAME"
# Unten: 10 Sekunden Timeout!
set i to i + 1
delay 0.5
if i ≥ 20 then -- 20 = 10 Sekunden
display dialog "Konnte Truecrypt-Container nicht einbinden." buttons {" OK "} default button 1
try
-- produziere Fehler damit Chronosync nicht ins Leere synchronisiert
error number -3000
on error
-- beende das Skript
return
end try
end if
end repeat
|
|
|