Dienstag, März 17, 2015

Dashboard übernehmen

Obacht: dieser Beitrag ist nichts für Leute, die nicht wissen, was ein Terminalfenster ist! Wer damit Probleme hat, sollte besser jemanden fragen, der sich mit sowas auskennt!

Aber zur Sache.

Angenommen, man hat mehrere Jahrzehnte lang gespart und sich dann endlich einen neuen Mac gekauft.
Weiter angenommen, man möchte von seinem alten Rechner nur die wirklich wichtigen Daten übernehmen und nicht den (stellenweise jedoch sehr brauchbaren) Migrationsassistenten von Apple verwenden.
Dann baut man zum Beispiel zwischen beiden Rechnern eine Netzwerkverbindung auf und gibt auf dem alten Rechner die zu kopierenden Daten frei (üblicherweise den Benutzerordner) und los geht’s.

Nach einer Weile stellt man dann fest, dass einem ja noch die Daten vom Dashboard fehlen. Kein Problem, wir haben ja (hoffentlich) noch den alten Rechner, also kopieren wir das Zeugs einfach rüber.

So der Plan…

Aber da rauscht schon das erste Problem auf uns zu: wo finde ich das Zeugs?

Kein Thema, die Suchmaschine der Wahl verrät uns bei Eingabe der passenden Suchbegriffe die Antwort:
Selbst installierte Widgets findet man im Ordner

~/Library/Widgets

, die Dashboard-Überhaupt-Einstellungen in

~/Library/Preferences/com.apple.dashboard.plist

und die Einstellungen für die Widgets finden sich in vielen kleinen Dateien mit Namen

~/Library/Preferences/widget-*

Also kopiert man sich das Zeugs rüber auf den neuen Rechner (scp samt “Entfernte Anmeldung” ist dabei recht hilfreich, alternativ tut’s auch der Finder, dem man das Anzeigen der Library mit “Alt+Gehe zu” beibringt) und gibt im Terminal auf dem neuen Rechner ein beherztes

killall Dock

ein. Dann das Dashboard aufmachen und … NIX.

Was ist passiert, dass nichts passiert?

Ein kurzes grep verrät uns, dass in der Datei

~/Library/Preferences/com.apple.dashboard.plist

die Liste der aktiven Widgets enthalten ist. Bei weiterer Untersuchung fällt uns dann auf, wo der Haken hängt: die Benutzernamen haben sich geändert!
Mist!
Statt früher “maxmustermann” heißt der Benutzer auf dem neuen Mac “max“!

Nun - so die erste Idee - könnte man ja einfach in der Datei “Suchen und Ersetzen”, jedoch … holladiewaldfee, Apple speichert PList-Dateien inzwischen in irgendeinem Binärformat, welches sich nicht mehr so einfach editieren lässt?!
Nun ist guter Rat - respektive Software, die da weiterhilft - teuer …

Aber es geht auch mit Bordmitteln. Und zwar so:
Ein beherztes

defaults read com.apple.dashboard > ~/new_com.apple.dashboard

dekodiert uns die Binärdatei und schreibt den Inhalt gleichzeitig in eine editierbare Textdatei. Der obige Befehl legt diese editierbare Datei in unserem Benutzerverzeichnis (Tilde) ab. Nun nehme man den Editor der Wahl (z.B. nano oder vi oder auch den TextEdit) und Suche-und-ersetze “maxmustermann” mit “max“.
Dann speichere man und tätige nochmals einen Ausflug ins Terminalfenster. Dort lesen wir dann ganz derb unsere editierte Datei ein mit “

defaults read new_com.apple.dashboard

“, töten nochmals mit einem immer noch beherzten

killall Dock

das Dock und …
Wenn alles richtig war, haben wir jetzt auf dem neuen Rechner exakt dieselben Sachen im Dashboard wie auf dem alten Rechner.

Trivial, oder?!

Ich liebe Apple, weil’s so einfach geht!

;-)