Ankündigung

Einklappen
Keine Ankündigung bisher.

[HowTo] Programm starten vor / nach Standby (Version 2)

Einklappen
Das ist ein wichtiges Thema.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [HowTo] Programm starten vor / nach Standby (Version 2)

    Diese Anleitung löst die bisherige Version ab. Wer etwas mehr über die Hintergründe erfahren möchte, kann das dort gerne nachlesen.

    hi@all

    In unserem Forum gibt es ja schon seit längerer Zeit eine Anleitung für das Tool Sleepwatcher von Bernhard Baehr. Mit diesem Tool ist es möglich einen eingeleiteten Standby oder einen Wakeup des Systems zu erkennen und ein Script / Programm zu starten. Das wird u.A. in unserem Mediacenter HowTo verwendet, um z.B. nach einem Wakeup den Mauszeiger in den nicht sichtbaren Bereich zu verschieben und das richtige Programm in den Vordergrund zu holen. Der Möglichkeit, vor einem Standby bestimmte Funktionen auszuführen, haben wir bisher kaum Beachtung geschenkt. Ausserdem war und ist die Sleepwatcher Installation etwas Tricky, da es seit der Version 2.2 keinen Installer mehr gibt. Zudem waren immer einige Befehle im Terminal abzusetzen, sicher auch nicht jedermanns Sache.

    Wir haben nun eine Installer entwickelt, der den grössten Teil der Arbeiten automatisch erledigt. Dabei handelt es sich um ein direkt ausführbares Applescript, welches die benötigten Dateien kopiert, erforderliche Installer Pakete aufruft und durch die gesamte Installation führt. Die Installation benötigt dadurch nur noch wenige manuelle Schritte und sollte auch von Usern ohne Terminalkenntnisse zu bewältigen sein. Nach der Installation befinden sich in eurem Home Ordner zwei direkt ausführbare Dateien. Diese können leicht an die eignen Bedürfnisse angepasst und mit Funktionen gefüllt werden.

    Die ONSLEEP.app wird automatisch vor einem Standby ausgeführt. Die WAKEUP.app nach dem Aufwachen des Systems. Beide Programme geben im Moment nur eine Meldung aus, die zur Funktionskontrolle nach der Installation dient:


    sc1.jpg
    ONSLEEP.app

    sc2.jpg
    WAKEUP.app


    Beide Apps befinden sich im Home Ordner (im Finder mit einem "Häuschen" und dem Benutzernamen markiert). Ihr könnt nun die Apps im Applescript Editor öffnen und eigene Befehle einfügen, bzw. Programme eintragen die gestartet werden sollen. Die Zeile mit der Meldung könnt ihr natürlich entfernen. Im Applescript Editor sieht z.B. der Inhalt der WAKEUP.app so aus:

    Code:
    display dialog "waking up…"
    Diese Zeile gibt die "waking up..." Messagebox aus. Ihr könnt nun diese Zeile löschen und ein beliebiges Programm starten, z.B. XBMC oder Plex.

    Für Plex:
    Code:
    tell application "Plex" to activate
    Für XBMC:
    Code:
    tell application "XBMC" to activate
    Natürlich kann die WAKEUP.app aus mehreren Zeilen und komplexeren Funktionen bestehen. Das hängt ganz davon ab, wofür ihr diese Programme einsetzen möchtet. Für die ONSLEEP.app gilt das genauso, mit einer Einschränkung. Der Sleepwatcher ist derzeit so eingestellt, dass der Standby um 15 Sekunden verzögert wird. Alle Funktionen, die ihr in die ONSLEEP.app einbauen möchtet, müssen also innerhalb dieser 15 Sekunden abgearbeitet sein.

    Falls ihr nur eine der Funktionen braucht, also nur beim Wakeup oder vor dem Standby ein Programm ausführen lassen wollt, dann könnt ihr die nicht benötigte App einfach löschen oder (für eine evtl. spätere Nutzung) umbenenen.

    Wenn ihr keine Applescript Kenntnisse habt, oder bei der Umsetzung einzelner Funktionen Unterstützung braucht, dann schreibt einfach in diesem Thread. Wir werden versuchen, euch dabei zu helfen. Vielleicht können wir so mit der Zeit ein kleines Archiv mit unterschiedlichen ONSLEEP / WAKEUP Scripten aufbauen, die den Bedarf von zukünftigen Usern abdecken


    Installation

    Die Installation sollte nur wenige Minuten in Anspruche nehmen. Ladet euch das angehängte Sleepwatcher_install Paket auf den Desktop und packt es dort aus. Darin enthalten ist die InstallSleepWatcher.app, die ihr nun startet. Der Rest der Installation ist eigentlich selbsterklärend. Ihr braucht nur den Anweisungen auf dem Bildschirm zu folgen.




    Es werden nun nacheinander 2 Installer Pakete aufgerufen. Beide gehören zum SleepWatcher. Der Ablauf ist bei beiden Paketen gleich. Die Paketinstallation wird gestartet:



    Folgt einfach den Anweisungen auf dem Bildschirm und gebt das Admin Kennwort ein, sobald danach gefragt wird:



    Wenn beide Pakete installiert wurden, dann ist die SleepWatcher Einrichtung beendet. Es werden nun noch einige Dateien kopiert. Und ein automatisches Update auf die aktuelle Sleepwatcher Version durchgeführt. Zum Schluss werdet ihr noch dazu aufgefordert das System neu zu starten.

    sc3.jpg

    Nach dem Neustart sollte der Sleepwatcher auch schon einsatzbereit sein.


    Wir wünschen euch viel Erfolg bei der Einrichtung und viel Spass mit dem Sleepwatcher

    lg

    Michael

    Sleepwatcher_install.zip
    Zuletzt geändert von lifeflow; 08.12.2013, 11:37.
    HowTos: Mac Mini Mediacenter mit Plex oder XBMC / Logitech Harmony und der Mac

  • #2
    Zum wakeup / onsleep Thread von User @alembke geht es hier entlang: Klick!

    Ich habe mal einen separaten Thread daraus gemacht, weil das Thema eine Richtung eingeschlagen hat, die mit dem Sleepwatcher kaum noch etwas zu tun hat.
    HowTos: Mac Mini Mediacenter mit Plex oder XBMC / Logitech Harmony und der Mac

    Kommentar


    • #3
      Hallo Michael,

      das ist genau das, was ich gesucht habe, doch leider bricht die Installation gleich am Anfang mit folgender Meldung ab:

      "No matching processes were found"

      Was mach ich da falsch?

      lg Max
      mein OSX: 10.8.3

      Kommentar


      • #4
        Hallo Max

        Willkommen bei uns

        Kommt die Fehlermeldung direkt beim Start der InstallSleepWatcher.app? Wird vorher gar keine Meldung ausgeworfen?

        lg

        Michael
        HowTos: Mac Mini Mediacenter mit Plex oder XBMC / Logitech Harmony und der Mac

        Kommentar


        • #5
          Dankeschön :-)

          vorher kommt:

          "Es werden nun zwei Pakete installiert:

          1. sleepwatcher.pkg
          2. SleepWatcher StartupItem.pkg

          ...
          dann klicke ich auf "weiter"

          dann komm:
          "sleepwatcher.pkg kann nicht geöffnet werden da es nicht von einem verifizierten Entwickler stammt..."

          ich klicke "OK"

          ...dann kommt die Kennwortabfrage (gebe ich natürlich ein), dass das Programm Änderungen vornehmen möchte....und danach

          "No matching processes were found"

          lg Max

          Kommentar


          • #6
            Alles klar, daran ist der Gatekeeper von Mac OS Schuld Der Gatekeeper soll verhindern, dass Programme aus "zwielichtigen" Quellen benutzt werden. Per Default ist er so eingestellt, dass sich nur Anwendungen von verifizierten Entwicklern starten lassen. Der Entwickler von Sleepwatcher gehört leider nicht dazu.

            Geh mal in die Systemeinstellungen/Sicherheit. Dort gibt es den Punkt "Allgemein". Bei "Programme aus folgenden Quellen erlauben:" aktivierst Du die Option "Keine Einschränkungen".

            Die Installation wird dann sicher durchlaufen

            lg

            Michael
            HowTos: Mac Mini Mediacenter mit Plex oder XBMC / Logitech Harmony und der Mac

            Kommentar


            • #7
              Perfekt, das wars, funktioniert!

              Dankeschön und lg Max

              Kommentar


              • #8
                Tach zusammen,
                danke für den Installer. Klappt soweit gut.

                Allerdings möchte ich damit mein NAS Laufwerkmapping Skript starten
                http://hohabadu.de/?APPLESCRIPT/Erkl...olumes-mounten

                Und hier meldet mir dann mein Skript das es die IP Adresse nicht finden kann. Hab das Skript als separates Apple Script erstellt und es als Programm abgespeichert. Wenn ich es manuell starte funitioniert es wunderbar, wenn ich es über das WAKEUP Skript laufen lassen möchte mit dem Befehl:
                tell application "LanScan" to activate (NAS so lautet das Programm), dann erscheint die Meldung "Isn´t available IP ..."

                Was kann das sein? Programme starten wie es sein soll.

                Kommentar


                • #9
                  Hi

                  Willkommen bei uns im Forum

                  Wir müssen mal versuchen den Fehler einzugrenzen. Wie ist Dein System ins Netzwerk eingebunden? Per WLAN? Wenn ja dann könnte es sein, dass Die WLAN Verbindung nach dem Wakeup noch nicht vollständig aufgebaut wurde. Das solltest Du in der Menu Bar sehen können. Starte doch mal das Wakeup nach der Fehlermeldung von Hand. Wenn jetzt alles sauber durchläuft, dann bau doch mal eine kleine Verzögerung vor dem Start Deines Scripts in das Wakeup Script ein, z.B.

                  Code:
                  delay 3
                  für eine 3-sekündige Verzögerung.

                  Evtl. gibt es auch Probleme mit dem Shell Script Aufruf in Deinem Script. Kopiere Dein Script doch mal in den "Programme" Ordner und starte es aus dem Wakeup Script heraus mit

                  Code:
                  do shell script "open -a /Applications/LanScan.app"
                  Mir ist ausserdem aufgefallen, dass das LanScan Script nue einen Ping absetzt. Ich würde das eher in eine Schleife verpacken die mind. 5x durchlaufen wird. Dadurch erhöht sich die Trefferquote wenn es auf dem netz zu Störungen kommen sollte. Ausserdem könnte es sein, dass Dein NAS in den Ruhezustand gegangen ist und erst durch den Ping aufwacht. Vielleicht kommt die Antwort einfach zu spät. Mit einer mehrfachen Prüfung könnte man diese Fehlerursache abfange. Die Fehlermeldung würde dann nur ausgeworfen, wenn alle 5 Prüfungen fehlgeschlagen sind.

                  Ich könnte das Script für Dich anpassen. Das schaffe ich aber voraussichtlich erst am Sonntag. Vielleicht auch etwas früher...

                  lg

                  Michael
                  HowTos: Mac Mini Mediacenter mit Plex oder XBMC / Logitech Harmony und der Mac

                  Kommentar


                  • #10
                    Hi

                    Hier schon mal ein Schnellschuss. Ersetze in Deinem Script den Code

                    Code:
                    on checkServer(ServerIP)
                        try
                            do shell script "ping -t2 -c1 " & ServerIP
                            return true
                        on error
                            return false
                        end try
                    end checkServer
                    einfach gegen

                    Code:
                    on checkServer(ServerIP)
                        set IPresponse to 0
                        repeat 5 times
                            try
                                do shell script "ping -t2 -c1 " & ServerIP
                                set IPresponse to 1
                                exit repeat
                            on error
                                set IPresponse to 0
                            end try
                            delay 5
                        end repeat
                        if IPresponse = 1 then
                            return true
                        else
                            return false
                        end if
                    end checkServer

                    Der Check wird jetzt 5x durchgeführt. Jeder Durchlauf ist um 5 Sekunden verzögert. Dadurch wird dem NAS Zeit gegeben um aus dem Ruhezustand aufzuwachen.

                    lg

                    Michael
                    HowTos: Mac Mini Mediacenter mit Plex oder XBMC / Logitech Harmony und der Mac

                    Kommentar


                    • #11
                      Besten Dank für die schnelle Hilfe, wenn ich den Befehl:
                      do shell script "open -a /Applications/LanScan.app"
                      verwende dann erscheint folgende Fehlermeldung nach dem Wakeup:
                      2013-06-29_12-48-15.jpg

                      Die Schleifenänderung habe ich übernommen, danke hierfür ;D

                      Kommentar


                      • #12
                        Ok, die Fehlermeldung sagt mir so leider nichts. Läuft das Script denn jetzt mit der geänderten Schleife?

                        lg

                        Michael
                        HowTos: Mac Mini Mediacenter mit Plex oder XBMC / Logitech Harmony und der Mac

                        Kommentar


                        • #13
                          Das Skript läuft ohne Sleepwatcher ohne Probleme.

                          Kommentar


                          • #14
                            Ja, aber läuft es nach der Schleifenerweiterung jetzt auch mit dem Sleepwatcher? Hast Du das mal getestet?
                            HowTos: Mac Mini Mediacenter mit Plex oder XBMC / Logitech Harmony und der Mac

                            Kommentar


                            • #15
                              JA hab ich, und hier erscheint die Fehlermeldung.

                              Mir geht es ja eigentlich nur darum, meine NAS Laufwerke nach einem Ruhezustand wieder gemappt zu haben, damit iTunes, Aperture und Plex die Datenbanken finden.

                              Kommentar

                              Lädt...
                              X