iSight Foto nach aufwachen

2 Comments

Sleepwatcher ist ein daemon der es ermöglicht scripte beim “aufwachen” und “schlafen legen” auszuführen. Als Anwendungsbeispiel möchte ich mit dessen Hilfe bei jedem aufwachen (aufklappen) ein Script ausführen das ein Photo mit der iSight erstellt.

Sleepwatcher installieren

SleepWatcher erhaltet ihr auf der Seite des Entwicklers http://www.bernhard-baehr.de
Dieses entpacken wir auf dem Desktop. Ab jetzt gehts im Terminal weiter.

Als erstes werden zwei neue Verzeichnisse erstellt eines für das binary das andere für die man page.

sudo mkdir -p /usr/local/sbin /usr/local/share/man/man8

Wir kopieren die beiden Dateien in die soeben erstellten Verzeichnisse
sudo cp ~/Desktop/sleepwatcher_2.1/sleepwatcher /usr/local/sbin
sudo cp ~/Desktop/sleepwatcher_2.1/sleepwatcher.8 /usr/local/share/man/man8

Mit man sleepwatcher kann man sich jetzt die Hilfe anzeigen lassen. Sleepwatcher ermöglicht nicht nur das ausführen von Programmen bei sleep und wakeup sondern auch beim dimmen des Display, auschalten des Display, Trennen der Netzverbindung, ilde, und jeweils umgekehrt.

Um sleepwatcher bei jedem Systemstart mit den entsprechenden Parametern zu starten nutzen wir launchd. Eine Beispiel Konfigurationsdatei ist im Verzeichnis config zu finden.
Diese öffnen wir und passen sie an unsere Bedürfnisse an.


Interessant sind hierbei die ProgrammArguments der erste Eintrag ist der Pfad zu Sleepwatcher, die nachfolgenden die Argumente die an Sleepwatcher übergeben werden. -w steht für wakeup, ~/.wakeup ist das Script das ausgeführt werden soll. Den Eintrag -s ~/.sleep habe ich gelöscht da ich nur beim aufwachen ein script ausführen möchte.
Speichern nicht vergessen und die Konfigurationsdatei kopieren.

cp ~/Desktop/sleepwatcher_2.1/config/de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist

Abschließend muss launchd jetzt noch darüber informieren das es eine neue Konfigurationsdatei gibt.
launchctl load ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher.plist

iSight Script

Jetzt fehlt nur noch ein Script das ein Foto per iSight erstellt und es mit einem TimeStamp versieht.

Hierführ nutze ich das Programm iSight CLI image capture und kopiere es in den Ordner Programme. Mit dem Texteditor eurer Wahl wird jetzt das Script erstellt und im Home Verzeichnis unter dem Dateinamen .wakeup gespeichert. Die Aufgenommen Bilder Speicher ich in dem Ordner “iSightWakeup” in meinem Home Verzeichnis.

#!/bin/sh
filename=$(date +%y.%m.%d_%H-%M-%S).jpg
/Applications/isightcapture ~/iSightWakeup/$filename

Der letzte schritt ist es das Script mit chmod +x ~/.wakeup ausführbar zu machen.

Bei bedarf könnte man mit curl noch einen upload in eine Fotogallerie einbauen. Wer so etwas realisiert kann es ja in den Kommentaren posten. :)

No related posts.

2 Comments (+add yours?)

  1. rupe1
    Jul 20, 2011 @ 12:52:36

    Also ich hab das Config nicht. Wo finde ich das?

  2. goe
    Dez 06, 2011 @ 23:20:35

    Guck dir mal Pictary an. http://pictary.net

Leave a Reply