Letztes Jahr habe ich über die Möglichkeit geschrieben mit Controlplane automatisch zwischen verschiedenen TimeMachine Volumen hin und her zu schalten. Diese Anleitung hat für Mac OS X Snow Leopard gegollten und funktioniert so leider nicht mehr unter Mac OS X Lion.

Apple hat unter Lion ein neues Programm namens tmutil hinzugefügt, welches für das Administrieren von TimeMachine zuständig ist. Mit Hilfe dieses Tools lässt sich auch unter Lion ein Hin- und Herschalten zwischen mehreren Volumen realisieren, welches meiner Meinung nach aber einen großen Nachteil gegenüber Snow Leopard hat. Aber dazu später noch mehr.

Um mit Controlplane mehrere Volumen auswählen zu können, muss man zu erst pro Volumen, das verwendet werden soll, ein Shell Skript anlegen. Dazu öffnet man das Terminal Programm von Mac OS X (zu finden unter den Dienstprogrammen) und erstellt eine neue Datei mit dem Befehl:

sudo vi ~/Documents/Name.sh

und fügt für TimeMachine Volume im Netzwerk (z.B. auf einer Timecapsule oder einem anderen NAS System) folgenden Code ein, wobei die Bereich, welche durch <> gekennzeichnet sind, entsprechend ersetzt werden müssen (die Klammern gehören jeweils weggelassen):

#!/bin/bash
sleep 5
tmutil setdestination afp://<Benutzername>:<Passwort>@<Serverpfad>
sleep 5
tmutil startbackup

Verwendet man eine lokal verfügbare USB oder Firewire Festplatte lautet der Inhalt der Textdatei:

#!/bin/bash
sleep 5
tmutil setdestination /Volumes/<Name_der_Platte>
sleep 5
tmutil startbackup

Die angelegte Datei speichert man anschließend durch die Eingabe von “:w” und beendet anschließend vi mit “:q”. Für jede Festplatte legt man eine entsprechende Datei an. Die auf diese Weise erstellten Shell Skripte können nun in Controlplane beim Erreichen der entsprechenden Umgebung ausgeführt werden.

Anschließend muss man die Dateien noch ausführbar machen. Dazu tippt man folgendes ebenfalls im Terminal ein:

sudo chmod +x ~/Documents/Name.sh

Der Haken an der Sache ist, dass tmutil das Volumen nur umschaltet, wenn es den entsprechenden Zielort auch tatsächlich findet, wohingegen die Methode für Snow Leopard einfach die Konfigurationsdatei umgeschrieben hat, ohne die Verfügbarkeit zu überprüfen. Kommt man nun z.B. im heimischen WLAN an, möchte Controlplane bereits auf die entsprechende Firewire Festplatte umschalten, obwohl diese noch nicht angeschlossen ist, da man das Notebook vielleicht im Wohnzimmer gestartet hat und nicht am Schreibtisch im Arbeitszimmer bereits die Festplatte angeschlossen hat. Statt dem Wechsel des Volumen erhält man eine Fehlermeldung. Leider habe ich bisher keine Möglichkeit gefunden dies zu Umgehen. Man könnte natürlich eine Unterumgebung für daheim anlegen, die aktiviert wird, wenn Controlplane die entsprechende Festplatte (über die Regel USB bzw. Firewire) erkennt.

Anders sieht dies natürlich aus, sollte das Backup Volumen auf einem NAS sein. Aber dazu mehr in einem zukünftigen Beitrag.

Noch einige Links zum Thema – alle auf Englisch:

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit

Gestern habe ich über Controlplane geschrieben, welches meinen Routinetätigkeiten beim Ortswechsel mit meinem Mac vereinfacht hat. Eine wichtige Aktionen fehlte mir noch in der Version 1.0.1, nämlich das Ändern des Timemachine Backup Volumes. Durch die Möglichkeit auch Shell Skripte ausführen zu lassen, konnte ich diese Funktionalität mit Googles Hilfe nachrüsten.

Eine Möglichkeit die ich gefunden habe, nutzt Apple Script für diesen Zweck. Da dieses aber mit Controlplane noch nicht ausgeführt werden können und ich der Meinung war, dass eine elegantere Lösung möglich sein musste, bin ich auf einen Forenbeitrag gestoßen, der die Shell nutzt um das Timemachine Volume direkt in der entsprechenden Konfigurationsdatei umzuschreiben. Dazu muss man folgende Punkt nacheinander durchführen:

1.) Timemachine Volume (einmalig) händisch in der Systemeinstellung setzen

2.) Das Terminal öffnen und folgendes Kommando eingeben um den richtigen “Alias” für das aktuelle Volume zu erhalten.

defaults read /Library/Preferences/com.apple.TimeMachine BackupAlias

Hinweis: Der Alias besteht aus vielen Ziffern und Buchstaben und beginnt mit < und endet mit >

3.) Einfügen des Alias in folgendes Shell Skript:

#!/bin/bash
defaults write /Library/Preferences/com.apple.TimeMachine BackupAlias 'ALIAS'

Wichtig ist, dass man die ‘ Zeichen am Anfang und am Ende nicht vergißt. Fügt man diese Zeile in (z.B.) Textedit ein, kann man sie als Datei abspeichern (ich verwende .sh als Endung um die Datei als Skript identifizieren zu können).

4.) Hinzufügen der Aktion “Shell Skript” in Controlplane und auswählen des gerade erstellten Skripts.

5.) Wiederholen der Punkte 1-4 für andere Timemachine Volumes.

Das oben Beschriebene habe ich mit einer Firewire Festplatte und einem QNAP als Speicherplatz für Timemachine getestet. Beides funktioniert problemlos und ich muss endlich nicht mehr händisch zwischen Backup am Arbeitsplatz und Backup daheim händisch umschalten.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit

Leider ist mir für das Folgende kein weniger sperriger Titel eingefallen. Aber eigentlich trifft er ganz gut zu.

Was versteht man unter “Kontext sensitive Umgebungen” unter Mac OS X? Damit ist gemeint, dass sich Einstellungen von Mac OS X automatisch an die (physikalische) Umgebung der Macs anpasst.Dazu wertet ein Programm Daten, genannt Evidenzquellen, wie die SSID des verbunden WLANs, die IP Adresse von WLAN/LAN, angeschlossene Monitore/USB Geräte/Firewire Geräte aus um eine Wahrscheinlichkeit für den Aufenthalt an einem definierten Wert zu erhalten. Anschließend kann anhand von erstellten Regeln auf das Betreten und/oder Verlassen eines Orts reagiert werden.

Bisher hatte hier Marcopolo gute Dienste geleistet (wobei ich dieses nicht im Detail getestet habe). Leider wurde Marcopolo seit einigen Jahr nicht weiterentwickelt und so wurde ein neuer Entwicklungszweig basierend auf Marcopolo 2.5.1 ins Leben gerufen. Das nun Controlplane genannte Programm steht mittlerweile in Version 1.0.1 zur Verfügung.

Aktuelle bietet Controlplane folgende Evidenzquellen:

Eine bereits stattliche Liste an Aktionen beinhaltet unter anderem:

Aber wozu kann man diese Möglichkeiten nun brauchen? Ein paar kleine Beispiele:

Durch die Möglichkeit auch Shell Skripte auszuführen, kann man aber die Möglichkeiten, welche Controlplane direkt bietet, beinahe beliebig erweitern.

Das Programm bietet aber nicht nur Möglichkeiten für Benutzer mobiler Macs, sondern kann auch für Standgeräte von Interesse sein. Hier könnte man zum Beispiel ein Programm starten, wenn eine bestimmte Festplatte angeschlossen wird oä. Diese Funktionalität kann ebenfalls mit “Do something when” erzielt werden, wobei diese Tool auch seit längerem nicht mehr weiterentwickelt zu werden scheint.

Alles in allem finde ich die Möglichkeit automatisierte Aktionen abhängig meines Orts durchzuführen sehr praktisch, ich trage mein Notebook aber auch täglich an zumindestens zwei Orte. 🙂 Bisher bin ich mit Controlplane sehr zu frieden, einzig das Aktivieren oder Deaktivieren der WLAN Schnittstelle funktioniert nicht und endet mit einer Fehlermeldung. Seit heute ist Version 1.0.2 verfügbar und der Wifi Bug wurde gefixt. Somit funktioniert nun alles, dass ich brauche 🙂

Spannend wird es wenn Apple GPS oder NFC in seine Macs integriert, da so die Vorhersage des Ortes präzisiert werden könnte.

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit

Hat man einen Mobile Me Account und möchte man sein Mac Adressbuch mit einem Windows Rechner synchronisieren, ist man eigentlich auf Outlook oder Outlook Express festgelegt. Durch ein undokumentiertes Feature in Thunderbird bietet sich aber einen Möglichkeit auch das Adressbuch in Thunderbird zu verwenden.

Dazu muss man im Mobile Me Client (unter Windows) die Synchronisation mit dem Windows Adressbuch aktivieren. Dann editiert man die Datei prefs.js, welche sich im Thunderbird Profil Ordner zu finden ist und fügt folgende Zeilen am Ende hinzu:

user_pref("ldap_2.servers.OE.description", "Outlook Express");
user_pref("ldap_2.servers.OE.dirType", 3);
user_pref("ldap_2.servers.OE.uri", "moz-aboutlookdirectory://oe/");

Nach einem Neustart bindet Thunderbird nun das Windows Adressbuch ein. Dies hat bei einem Test mit Thunderbird 3 auch wunderbar funktioniert. Leider findet Thunderbird bei mir die Adressen nicht, wenn man in der Adresszeile drauf los tippt. Blendet man die Seitenleiste mit den Adressen allerdings ein und doppelklickt auf einen Kontakt wird die Emailadresse richtig in die Adresszeile übernommen.

Es gibt noch einen weiteren Nachteil. Es werden zwar alle Emailadressen eines Kontakts vom Mac auf den Windows PC synchronisiert, Thunderbird kennt allerdings nur die erste Emailadresse aus dem Mac Adressbuch (die im Windows Adressbuch als Standard gesetzt wurde).

Alles in Allem also keine perfekte Lösung. Aber ein Workaround, der zumindest eine rudimentäre Unterstützung für die Synchronisation von Mac und Thunderbird unter Windows bietet.

Zusammengetragen von:

Post to Twitter Post to Delicious Post to Digg Post to Facebook Post to Reddit