1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

iTunes beenden -> gemountetes Image schließen

Dieses Thema im Forum "AppleScript" wurde erstellt von BigR, 15.02.09.

  1. BigR

    BigR Gloster

    Dabei seit:
    20.01.08
    Beiträge:
    62
    hi,

    ich hab mir mit Hilfe der Anleitung von macosxhints.ch ein verschlüsseltes Images angelegt, welches meine iTunes Datenbank enthält. Wenn ich also iTunes starte muss ich mein Passwort eingeben, das Image wird gemountet und iTunes hat Zugriff auf die Datenbank, funktioniert alles wie gewünscht :)

    Aber, wie kann ich per AppleScript/oder auf sonstigem Wege es schaffen, dass, wenn ich iTunes beende das gemountete Image wieder schließt? Die ganze Geschichte bringt ja im Grunde nix, wenn ich grad keine Musik höre (iTunes wird also beendet, Apfel+Q) und das Image trotzdem offen bleibt.

    Hab schon n Script, welches, wenn ich es manuel ausführe mein Image unmountet (Script funktioniert also). Hab versucht mit dem Automator das irgendwie mit iTunes zu verknüpfen aber ich hab da keine Möglichkeit gefunden :( Was kann ich da machen?

    Code:
    tell application "Finder"
    	do shell script "hdiutil detach \"/Volumes/MyImage\""
    end tell
    
    Quelle: http://snipplr.com/view/310/unmount-disk-image-dmg-file/
     
  2. svewie

    svewie Jamba

    Dabei seit:
    22.11.05
    Beiträge:
    56
    Moin!

    Auf die schnelle fällt mir nur die Möglichkeit ein, das als ein Skript zu speichern:

    Code:
    tell application "iTunes" to quit
    tell application "Finder" to eject "VolumeName"
    
    Was ich auch nicht weiss, ist, ob es eine Möglichkeit gibt ein Skript anzustossen, wenn iTunes beendet wird. Würde mich auch interessieren.

    Und warum der Weg über "hdutil"? Der Finder kann das Volume direkt auswerfen.

    Bis denn,
    Sven.
     
  3. BigR

    BigR Gloster

    Dabei seit:
    20.01.08
    Beiträge:
    62
    Genau so etwas brauche ich, bloß wie realisieren? Kann mir nur vorstellen, dass man einen prozess im Hintergrund bräuchte, der den Status von iTunes überwacht und beim Beenden ein Script ausführt (wie z.B. Growl, das weiß ja immer wenn ein Lied gewechselt wird oder pausiert wird oder was auch immer). Aber dieser Weg kommt mir irgendwie "unsauber" vor. Gibts da keine Lösung über Automator?

    ja du hast recht, ich benutze AppleScript um ein Shell Befehl auszuführen ... macht nicht wirklich Sinn o_O Das Originalscript war auch nicht von mir, hab mich mit AppleScript noch nicht so stark befasst.

    Trotzdem Danke :)
     
  4. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Es wäre eine Möglichkeit, alle paar Minuten nachschauen zu lassen, ob iTunes noch läuft. Möglicherweise schickt iTunes beim Beenden auch eine Notification.

    Eine ganz andere Herangehensweise wäre es freilich, nur rechtmäßig erworbene Musik auf seinem Rechner zu haben. ;)
     
  5. BigR

    BigR Gloster

    Dabei seit:
    20.01.08
    Beiträge:
    62
    Sorry, aber darum gehts überhaupt nicht. Meine Musik ist rechtmäßig erworben. Ich hab noch ganz andere Daten in verschlüsselten Images. iTunes ist grad meine "Spielwiese" um das etwas auszuprobieren.

    Wenn du mir noch sagst wie das mit dem "nachschauen lassen" funktioniert wär ich schon ein großes Stück weiter :) Das wär doch, wie ich schon geschrieben habe, ein tool welches im background läuft und den Status von iTunes überprüft.
     
  6. Jamsven

    Jamsven London Pepping

    Dabei seit:
    21.11.07
    Beiträge:
    2.046
    Edit:Ups der iTunes Helper schließt ja nicht mit iTunes, dann muss das so gehen:
    Code:
    ps -A | grep "iTunes" | grep -v "grep\|iTunesHelper"
    
     
    #6 Jamsven, 15.02.09
    Zuletzt bearbeitet: 15.02.09
  7. below

    below Kalterer Böhmer

    Dabei seit:
    08.10.06
    Beiträge:
    2.865
    Ich glaube, man bekommt eine Notification von NSWorkspace wenn Applikationen beendet werden.

    Alex
     
  8. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Kann gut sein. Ich meine mich jedenfalls zu erinnern, dass man das mitbekommt. Daher die Idee. Einfach mal drauf lauschen und schauen, was da kommt.
     
  9. BigR

    BigR Gloster

    Dabei seit:
    20.01.08
    Beiträge:
    62
    okey ... kannst du mir das etwas erläutern? :innocent:

    weiß zwar grad nicht wie ich den belauschen soll aber ich werd mal auf die Suche gehen ;)

    danke für eure tipps :)
     
  10. Jamsven

    Jamsven London Pepping

    Dabei seit:
    21.11.07
    Beiträge:
    2.046
    Das kannst im Terminal oder als shell script ausführen.
    Damit bekommst heraus ob iTunes noch läuft.
    Gibt der Befehl nichts zurück dann läuft iTunes nicht.
    Wenn iTunes läuft,kommt so etwas heraus:
    Code:
     1647 ??         0:03.47 /Applications/iTunes.app/Contents/MacOS/iTunes -psn_0_770236
    
    Um diesen Befehl zu verstehen lese das:
    1. grep
    2. ps -A: Zeigt alle laufenden Prozesse von Usern an.
    3. pipe

    Ich würde persönlich nur auf ein Shellscript setzen. DMG lassen sich per
    Code:
    hdiutil eject /Volumes/[I]Imagename[/I]
    entfernen.
    Du kannst dann ein Shellscript automatisch als cronjob ausführen lassen.
    Ich weiß aber nicht genau wie cron in OS X implementiert ist, vielleicht weiß ein anderer hier mehr.

    Falls du aber nicht die Finger von Applescript lassen kannst:
    Shell Scripte lassen sich auch über AppleScript ausführen.
     
    #10 Jamsven, 15.02.09
    Zuletzt bearbeitet: 16.02.09
  11. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    AppleTalk ist ein bisschen was anderes als AppleScript. ;)

    MacApple
     
  12. Jamsven

    Jamsven London Pepping

    Dabei seit:
    21.11.07
    Beiträge:
    2.046
    Ja sorry ich weiß das, hatte da wohl einen Synapsendreher ;)
    Danke für den Hinweis.


    Ach ja hab grad gelesen, dass seit Tiger Launchd eingesetzt wird.
    Nimm das als Ersatz für Cron.
     
    #12 Jamsven, 16.02.09
    Zuletzt bearbeitet: 16.02.09
  13. BigR

    BigR Gloster

    Dabei seit:
    20.01.08
    Beiträge:
    62
    OK, ich werd mich mal da reinlesen :)

    Vielen Dank für die Hilfe :)
     
  14. CloneOfMyself

    CloneOfMyself Weigelts Zinszahler (Rotfranch)

    Dabei seit:
    24.02.07
    Beiträge:
    253
    Oder Du benutzt DoSomethingWhen kurz (DSW), mit dem Du Applescripts auf solche Ereignisse zünden lassen kannst.
    Das dürfte genau das richtige sein.
     

Diese Seite empfehlen