Schlagwort-Archiv für: Hazel

Mac via iPhone sperren

25 Mai 2013
25. Mai 2013

MacSparky.com berichtete diese Woche über einen Weg, seinen Mac via iPhone aus der Ferne in den Schlafmodus zu versetzen. Vor diesem Problem stand ich auch einmal, denn ich hab es gern, dass mein Mac gesperrt ist, wenn er unbeaufsichtigt läuft, auch wenn das vielleicht ein wenig paranoid klingen mag. Allerdings bin ich mir dann unterwegs manchmal nicht sicher, ob ich das auch wirklich getan habe und dann ist es äußerst praktisch, dies nochmal via iPhone nachzuholen. Bisher habe ich das immer über E-Mail erledigt, indem ich eine Mail-Regel angelegt habe, die bei einer Mail von mir mit einem bestimmten Betreff den Mac via AppleScript sperrt. Das funktioniert gut, setzt aber voraus, dass die Mail-App läuft und ist auch jedes Mal ein wenig Tipparbeit.

Die alternative Methode, die ich heute vorstellen möchte und welche ich ein wenig abgewandelt habe, kombiniert auf clevere Weise drei Apps, die ich alle hier bereits in jeweils einem Artikel beschrieben habe (Einzelheiten zur Verwendung dieser Apps bitte dort nachlesen):

Die Grundidee ist, via Drafts eine Datei in der Dropbox anzulegen, nach dessen Inhalt Hazel sucht, um dann beim erfolgreichen Auffinden den Mac zu sperren. Der Text, den ich in meiner Dropbox via Drafts speichere, lautet in meinem Fall einfach “MB sperren” für “MacBook sperren”:

Drafts Sperre

Für das Speichern als Dropbox-Datei gibt es in Drafts (iPhone oder auch iPad) direkt eine Aktion (“Save to Dropbox”). Zuvor muss man die Drafts-App allerdings für den Dropbox-Zugriff autorisiert haben. Mit Hilfe von Launch Center Pro kann dieser Vorgang automatisiert werden. Dazu legen wir im Launch Center eine Aktion mit folgendem URL an:

drafts://x-callback-url/create?text=MB%20sperren&action=Save%20to%20Dropbox

Damit das so durchgereicht wird, muss in Drafts unter “Settings” die Einstellung “Allow URLs to trigger actions” eingeschaltet sein. Optional kann zur Erhöhung der Sicherheit noch ein in Drafts festgelegter “URL key” angehängt werden. Beispiel:

drafts://x-callback-url/create?text=MB%20sperren&action=Save%20to%20Dropbox&key=Geheim

Ein passendes Icon findet sich im Launch Center ebenfalls:

LCP Sperre

Nun kann der iPhone-seitige Teil der Sperraktion mit einem Tap vom Launch Center aus erfolgen.

Vorher müssen wir aber auf dem Mac noch einige Vorbereitungen treffen. Wir brauchen eine Hazel-Regel für den Ordner “Dropbox/Apps/Drafts”:

Hazel Sperre 1

Die Bedingung, die zur Ausführung der Hazel-Regel führt, ist, dass es in diesem Ordner eine Datei mit dem Inhalt “MB sperren” gibt:

Hazel Sperre 2

Trifft dies zu, veranlassen wir gleich mehrere Schritte. Als erstes löschen wir die Datei (“Move to folder: Trash”), damit die Aktionen nur einmal ausgeführt werden. Dann starten wir ein AppleScript, welches das MacBook sperrt:

tell application “System Events” to start current screen saver

Hazel Sperre 3

Dazu muss in den Systemeinstellungen geregelt sein, dass nach einem Ruhezustand oder dem Bildschirmschoner ein Kennwort einzugeben ist:

Sicherheit Sperre 2

Wer den Mac lieber schlafen legen möchte, nimmt stattdessen einfach folgendes AppleScript:

tell application “Finder”

  sleep

end tell

Damit sind wir schon am Ziel unseres Vorhabens.

Als i-Tüpfelchen wäre es nun noch schön, wenn das iPhone eine Rückmeldung vom Mac bekäme. Das ist allerdings nicht ganz trivial und sei daher nur fortgeschrittenen Nutzern empfohlen. Eine ausführliche Schritt-für-Schritt-Anleitung würde den Rahmen eines Blog-Artikels leider sprengen.

Ich nutze dazu Prowl, eine iOS-App, der man über das Internet Push-Notifications schicken kann, die dann auf dem Telefon angezeigt werden. Zusätzlich braucht man ein Benutzerkonto auf https://www.prowlapp.com, um einen sogenannten API-Key zu erhalten, der für den Versand vom Mac aus benötigt wird. Ferner wird auf dem Mac ein Perl-Skript gebraucht, welches ausführbar in einem Verzeichnis wie z.B. /usr/local/bin bereitliegen sollte.

Nun sagen wir Hazel, dass nach dem AppleScript noch ein Shell-Script ausgeführt werden soll:

Hazel Sperre 4

Wichtig ist, dass wir hier im Parameter -apikey= unseren API-Key von prowlapp.com einsetzen. Nach dem Sperren des MacBooks erscheint nun folgende Meldung auf unserem iPhone:

Push Sperre

Mac-Automatisierung mit Hazel

03 Okt 2012
3. Oktober 2012

Unser Computer-Alltag besteht oft aus sich regelmäßig wiederholenden Schritten. Da werden z.B. Rechnungen heruntergeladen, umbenannt und in einen vorgesehenen Ordner verschoben. Oder es wird ein Verzeichnis, in dem sich Backups angehäuft haben, manuell ein wenig ausgemistet. Nun könnte man sich doch fragen: Hey, wozu habe ich einen Computer, der soll mir solche regelmäßigen Routinejobs gefälligst abnehmen. Und ja, mit den richtigen Werkzeugen ausgerüstet macht er das sogar.

Hazel (von Noodlesoft für 25 $ zu erwerben, 14-Tage-Testversion verfügbar) ist so ein Tool, ohne das mein Mac irgendwie unvollständig wäre. Vom Grundprinzip her überwacht es Ordner anhand von uns definierter Kriterien. Schlägt ein solche Bedingung zu, passiert mit den betroffenen Dateien das, was wir ebenfalls festlegen können. Von der Arbeitsweise erinnert das an die Ordner-Aktionen, welche OS X von Hause aus kennt, Hazel ist allerdings um ein vielfaches mächtiger. Es bietet sogar so viele Möglichkeiten, dass ich diese hier nur anhand von wenigen Beispielen andeuten kann und es anschließend meinen Lesern überlassen muss, Hazel an die eigenen Bedürfnisse anzupassen und möglichst viele alltägliche Arbeitsschritte zu automatisieren.

Hazel ist eine sogenannte “Preference Pane”, d.h., es ist nach der Installation als Icon in unseren Systemeinstellungen zu finden:

Hazel 1

Die Benutzeroberfläche sieht dann so aus:

Hazel 2

Von den drei Abschnitten “Folders”, “Trash” und “Infos” ist “Folders” der wichtigste. In der linken Spalte stehen alle Ordner, für die es Hazel-Regeln gibt, in der rechten Spalte finden wir eine Liste aller Hazel-Regeln für diesen Ordner. Die Plus- und Minus-Knöpfe fügen Ordner/Regeln hinzu bzw. löschen ausgewählte Einträge.

Schauen wir uns einfach ein Beispiel an. Wir können in OmniFocus, einem Aufgaben-Mangager, den ich in einem meiner ersten Artikel vorgestellt habe, einen Ordner für automatische Backups festlegen:

Hazel 3

Dieser wird mit der Zeit sehr voll und nimmt uns unnötig viel Platz weg. Denn es macht IMHO keinen Sinn Uralt-Sicherungen aufzuheben, sagen wir mal die letzten 90 Tage sollten genügen. Wir fügen also der linken Spalte unseren “OmniFocus Backups”-Ordner hinzu und legen mit Hilfe der rechten Spalte eine neue Hazel-Regel an. Und die sieht so aus:

Hazel 4

Die Regel, welche ich “Cleanup” genannt habe, besagt, dass alle Dateien, die mit “OmniFocus” beginnen und älter als 90 Tage sind, in den Papierkorb verschoben werden. Eine Regel besteht immer aus dem Namen (oberer Teil), den Kriterien (mittlerer Teil) und dem, was mit den betroffenen Dateien geschehen soll (unterer Teil). Die Regeln sind sehr vielfältig, wir können festlegen, ob ein oder alle Kriterien erfüllt sein müssen und können diese sogar noch verschachteln (was für diese Einführung allerdings zu weit führen würde). Natürlich sind auch negative Kriterien möglich, d.h., es wären dann die Dateien betroffen, welche diese nicht erfüllen. Mögliche Kriterien sind z.B. Dateiname (oder Teile davon), die verschiedenen Datumsangaben zu einer Datei, Spotlight-Kommentare, Art der Datei, Finder-Farbmarkierung der Datei, Größe, Inhalt (!) und vieles mehr.

Die möglichen Aktionen umfassen unter anderem:

  • verschieben, kopieren, umbenennen oder löschen
  • in Unterordner einsortieren
  • mit einer Finder-Farbmarkierung versehen
  • mit einem Spotlight-Kommentar versehen
  • in iTunes, Aperture oder iPhoto importieren
  • mit einem AppleScript weiterverarbeiten

Es können beliebig viele Aktionen nacheinander ausgeführt werden.

Nach Erstellen der Regel läuft Hazel ständig im Hintergrund, beobachtet die Ordner, für die es Regeln gibt, und führt diese ggf. aus. Man kann Hazel oder die Regeln für einzelne Ordner natürlich auch pausieren.

Überlegt man sich mal, welche Kombinationsmöglichkeiten aus Kriterien und Aktionen möglich sind, erahnt man langsam, wie mächtig Hazel ist und wieviel Arbeit uns dieser kleine Helfer in der täglichen Praxis abnehmen kann. Schauen wir uns ein zweites Beispiel an. Einmal im Monat lade ich meine Telekom-Rechnung aus dem Kundencenter herunter. Früher hab ich die Datei dann selbst umbenannt und in den richtigen Ordner verschoben, nun macht das Hazel für mich (überwacht wird der Downloads-Ordner):

Hazel 5

Die Rechnungen enthalten immer eine bestimmte Ziffernfolge und sind PDFs. Einzelverbindungsnachweise, die man ebenfalls herunterladen kann, enthalten die Zeichenkette “EVN” und werden ausgenommen, da ich für sie eine eigene Regel habe. Die Rechnungen werden in einen Rechnungsordner verschoben, nach dem Schema Telekom-Rechnung-<Jahr>-<Monat>.pdf umbenannt und mit “rechnung” verschlagwortet. Außerdem lasse ich Hazel den Rechnungsordner öffnen und eine Mitteilung anzeigen. Die Umbenennungsfunktion ist wie wir sehen sehr flexibel, da z.B. auch Datumsbestandteile mit einfliessen können. Sogar der Name des Ordners, in den verschoben wird, muss nicht fest sein, sondern könnte z.B. “Rechnungen-<Jahr>” lauten, wobei jeweils das aktuelle Jahr automatisch eingesetzt wird.

Wem diese beiden Beispiele nicht reichen, kann zusätzlich einen Blick auf die mitgelieferten Beispielregeln werfen, die z.B. nützliche Dinge mit dem Download-Ordner tun, wie etwa alte Dateien rot zu markieren.

Eine weitere Spezialität von Hazel sind die Papierkorbsfunktionen:

Hazel 6

Beispielsweise können Dateien, die schon länger als eine Woche im Papierkorb rumliegen, automatisch gelöscht werden. Die Funktion “App Sweep” sucht beim Löschen von Apps automatisch die zugehörigen Dateien wie Einstellungen und Caches und bietet an, diese ebenfalls in den Papierkorb zu legen. Das erspart die Anschaffung eines separaten Uninstallers.

Alles in allem also ein sehr nützlicher Helfer, der auf keinem Mac fehlen sollte!

Bonus-Tipp: Der Besen auf der Seite “Info” ist anklickbar.

Dateien automatisch via Dropbox teilen

12 Mai 2012
12. Mai 2012

OS X besitzt dank Automator und AppleScript hervorragende Automatisierungsmöglichkeiten, die wir uns hier schon an der ein oder anderen Stelle zunutze gemacht haben. Kürzlich bin ich bei MacinTweak auf einen Workflow gestossen, der dies sehr sehr eindrucksvoll unterstreicht. Es wird eine Datei ausgewählt und folgender Arbeitsablauf automatisiert:

  • die Datei wird gepackt und bekommt einen zufälligen Namen
  • dann wird sie in den Public-Ordner unserer Dropbox kopiert
  • anschließend wird eine E-Mail mit dem Weblink zu dieser Datei vorbereitet
  • eine Hazel-Regel entfernt die Datei nach einer gewissen Zeit wieder aus unserer Dropbox

Die Umbenennung erfolgt deshalb, weil jeder, der den Dateinamen kennt oder errät, die Datei aus dem öffentlichen Ordner unserer Dropbox laden kann. Bei sensibleren Dateien ist ein längerer Zufallsname daher so etwas wie ein Kennwort. Die hier beschriebene Vorgehensweise ist äußerst praktisch, wenn man eine Datei nicht per E-Mail senden möchte, weil sie beispielsweise zu gross ist (viele Anbieter haben Limits von 10 oder 20 MB).

Wer noch kein Dropbox-Konto (ein wirklich empfehlenswerter Cloud-Speicherdienst, auf den viele iOS-Apps zugreifen können) hat, kann gerne diesen Empfehlungslink verwenden und bekommt dafür 500 MB zusätzlichen Speicherplatz.

Auf geht’s! Wir starten den Automator (liegt im Programme-Ordner) und legen einen neuen Dienst an:

dropshare1

Unser neuer Dienst empfängt Dateien und Ordner im Finder:

dropshare2

Er besteht aus zwei Arbeitsschritten, die im linken Teil des Automator-Fensters ausgewählt werden können. Schritt 1 ist „Archiv erstellen“ mit den folgenden Einstellungen:

  • Sichern unter: Derselbe Name wie die Eingabe
  • Ort: Derselbe Name wie die Eingabe

dropshare3

Schritt 2 lautet „AppleScript ausführen“. Das benötigte AppleScript finden wir bei MacinTweak. Es muss in die grosse Textbox kopiert werden:

dropshare4

Mit dem Hammer-Icon können – und sollten wir nach jeder Änderung – überprüfen, ob das Skript von der Syntax her korrekt ist.

Am Skript selber habe ich ein paar Änderungen vorgenommen.

In Zeile 6 habe ich eine Reihe von Sonderzeichen aus der Zeichenkette entfernt, damit die Dateinamen nicht zu exotisch werden:

set end of str to some item of “ABCDEFGHIJKLMNOPQRSTUVWXYZadbcdefghijklmnopqrstuvwxyz1234567890_-”

In Zeile 13 habe ich dem Dateinamen die Zeichenkette shared- vorangestellt, damit ich leichter sehen kann, welche Dateien im Public-Ordner aus diesem Workflow stammen und ich diese leichter mit Hazel (s.u.) erfassen kann:

set theNewName to (“shared-” & randString & “.zip”)

Wenige Zeilen darunter müssen wir den Pfad unseres Public-Ordners angeben (Doppelpunkt als Pfadtrenner, bitte den tatsächlichen Gegebenheiten auf dem jeweiligen Mac anpassen):

set dest_folder to folder “Desktop:Dropbox:Public” of home

Und wieder ein paar Zeilen tiefer die Webadresse unsers Public-Ordners. Individuell zu ändern ist hier die numerische Dropbox-ID:

set the theURL to (“http://dl.dropbox.com/u/123456789/” & my text2url(theNewName))

Die ID kann z.B. ermittelt werden, indem wir eine Datei in den Public-Ordner unserer Dropbox legen und im Kontextmenü auf „Dropbox > Öffentl. Link kopieren“ klicken. Dies befördert eine Webadresse in die Zwischenablage, welche die ID beinhaltet.

Anschliessend speichern wir den Dienst – z.B. unter dem Namen „in Dropbox teilen“.

Wenn alles korrekt gelaufen ist, haben wir jetzt im Kontextmenü einer Datei (im Finder) einen neuen Dienst:

dropshare5

Dieser sollte nun alle Aktionen wie beschrieben ausführen. Im Public-Ordner der Dropbox finden wir die gepackte Datei:

dropshare6

Gleichzeitig öffnet sich das Mail-Programm mit dem öffentlichen Link zu dieser Datei:

dropshare7

Schnell noch den Empfänger, einen Betreff sowie eine kurze Nachricht reinschreiben und schon ist die Datei geteilt.

Eine Hazel-Regel sorgt bei mir dafür, dass diese Dateien nach 14 Tagen wieder entfernt werden. Der Zeitraum kann natürlich beliebig gewählt werden:

dropshare8

Über Hazel – ein praktisches Helferlein für Ordner-bezogene Aktionen – müsste ich eigentlich auch mal einen Artikel schreiben, da mir das Tool eine ganze Reihe von Arbeiten abnimmt. Mal sehen, wann ich dazu komme. Nun wünsche ich erstmal viel Vergnügen beim Teilen von Dateien via Dropbox!

Version 7.1 - © 1995-2014 by Dr. Markus Jasinski - Impressum