Archiv ‘Apple’

Samstag, 10. Januar 2015

Safari benötigt 30 Sekunden zum Starten (ungelöst)

Seit einigen Wochen plagt mein Mac OS X 10.9 Mavericks auf einem Mac mini (Late 2012) ein merkwürdiges Problem: Beim Programmstart von Safari springt das Dock-Icon während genau 30 Sekunden auf und ab, bevor das Browser-Fenster erscheint. Ein Logout und ein Login in mein Benutzerkonto beheben das Problem nicht.

Leider habe ich bis jetzt keine Lösung für das Problem gefunden, weshalb ich hier erst einmal dokumentiere, was ich diesbezüglich herausgefunden habe.

Das Apple-Tool fs_usage ist mein Freund. Hier ein Beispiel-Auszug der Dateizugriffe des Safari-Prozesses:

# fs_usage
...
12:37:38.681696  open              F=13       (RW____)  /dev/dtracehelper                                                                                                                                    0.000026   Safari.6649750
12:37:38.681703  ioctl             F=13                                                                                                                                                      0.000006   Safari.6649750
12:37:38.681708  close             F=13                                                                                                                                                                      0.000005   Safari.6649750
12:37:38.681816  stat64                                 /System/Library/StagedFrameworks/Safari/WebInspectorUI.framework/Versions/A/WebInspectorUI                                                           0.000011   Safari.6649750
12:37:38.681836  open              F=13       (R_____)  /System/Library/StagedFrameworks/Safari/WebInspectorUI.framework/Versions/A/WebInspectorUI                                                           0.000018   Safari.6649750
12:37:38.681840  pread             F=13   B=0x1000     O=0x00000000                                                                                                                                          0.000004   Safari.6649750
12:37:38.681842  pread             F=13   B=0x1000     O=0x00004000                                                                                                                                          0.000002   Safari.6649750
12:37:38.681846  fcntl             F=13                                                                                                                                                              0.000002   Safari.6649750
12:37:38.681887  close             F=13                                                                                                                                                                      0.000003   Safari.6649750
12:37:38.684252  socket            F=13                                                                                                                                           0.000007   Safari.6649750
12:37:38.684284  connect           F=13     private/var/run/usbmuxd                                                                                                                                          0.000020   Safari.6649750
12:37:38.684288  ioctl             F=13                                                                                                                                                      0.000002   Safari.6649750
12:37:38.684365  close             F=14                                                                                                                                                                      0.000004   Safari.6649750
12:37:38.684375  sendto            F=13   B=0x10                                                                                                                                                             0.000008   Safari.6649750
12:37:38.684380  sendto            F=13   B=0x1f2                                                                                                                                                            0.000004   Safari.6649750
12:38:08.684465  close             F=14                                                                                                                                                                      0.000018   Safari.6649750
12:38:08.684588  close             F=13                                                                                                                                                                      0.000107   Safari.6649750
12:38:08.688500  stat64                 [  2]           /Library/Managed Preferences>>>>>>>>>>>>>>>>>>>>>>>>>>>>                                                                                             0.000005   Safari.6649750
12:38:08.688805  open              F=13       (R_____)  /Library/Preferences/com.apple.security.plist                                                                                                        0.000010   Safari.6649750
12:38:08.688811  close             F=13                                                                                                                                                                      0.000002   Safari.6649750
12:38:08.689103  stat64                                 /Users/mario/Library/Preferences/com.apple.security.plist                                                                                            0.000043   Safari.6649750
12:38:08.689108  stat64                 [  2]           /Library/Preferences/com.apple.security-common.plist                                                                                                 0.000003   Safari.6649750
12:38:08.689201  getattrlist                            /Users                                                                                                                                               0.000009   Safari.6649750

Zwischen 12:37:38 und 12:38:08 dreht der Prozess Däumchen. Hinweis gibt die folgende Zeile:

12:37:38.684284  connect           F=13     private/var/run/usbmuxd                                                                                                                                          0.000020   Safari.6649750

Safari scheint 30 Sekunden auf den connect zu private/var/run/usbmuxd zu warten.

In Console.app erscheint zudem genau nach 30 Sekunden folgende Meldung:

...
10.01.15 20:35:58.844 Safari[72526]: _SubscribeForMuxNotifications (thread 0x7fff74373310): USBMuxListenerCreate: Operation timed out
...

usbmuxd ist der Daemon, mit welchem iTunes resp. Mac OS X mit iPhones „spricht“ — wenn ich die Erklärungen verstehe so etwas wie TCP-over-USB: Usbmux — The iPhone Wiki.

Tags: , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 25. November 2014

Eines der schlechtesten Tech-Videos in der letzten Zeit

Vor wenigen Tagen habe ich mir folgendes Referat an der JailbreakCon zu Gemüte geführt:

Ich bin auf das Video gestossen, weil wir einen neuen Plasma-Fernseher angeschafft haben, welcher selbstverständlich Full HD unterstützt — mein Apple TV 2 gibt aber nur maximal 720p aus. Während ich mich auf den einschlägigen Online-Plattformen nach einer Occasion eines Apple TV 3 umsah, realisierte ich plötzlich, dass Leute Unsummen für Apple TV 2-Geräte ausgaben. Rasch wurde klar, dass der Apple TV 3 offenbar (noch?) nicht „jailbreaked“ werden konnte — nicht so wie sein jüngerer Bruder, der Apple TV 2.

Eine Web-Seite empfahl obiges Video, um mehr über den Jailbreak-Prozess zu erfahren. Ich habe es mir angeschaut und schlussendlich realisiert, dass ich 20 Minuten meines Lebens verdödelt habe. Was stört mich konkret an der Präsentation?

Nun, einiges: Die Lacher des Typs (Kevin Bradley) gehen einem äusserst rasch auf die Nerven. Ferner eiert er auf der Bühne sowas von rum, dass ich rasch einmal das Gefühl kriegte, dass er der Marketing-Dödel eines Geeks ist, der im Kämmerchen grosse Jailbreak-Arbeit leistet. Ausser Bulletpoints ablesen scheint er nichts zu können. Zusätzliches Indiz: Er trägt einen Anzug, sowohl im Referat als auch auf dem Photo im Interview. Kevin scheint den Zenit seines Schaffens längst überschritten zu haben, sonnt sich aber gerne im vergangenen Ruhm.

Tags: ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Montag, 24. November 2014

Apples Greg Joswiak auf der re/code-Bühne

Normalerweise kommentiere ich meinen Medienkonsum hier auf meinem Blog nicht mehr wirklich, doch das hier muss zum Auftritt Greg Joswiaks an der diesjährigen re/code gesagt sein:

  • Die beiden Interviewer Ina Fried und Walt Mossberg lassen Greg andauernd wieder entwischen; wären die beiden wirklich gute Interviewer, würden sie nachhaken, Greg in eine Ecke drängen und ihn zu klaren Antworten zwingen. Aber es ist ja bekannt, dass Walt ein sehr, sehr gutes Verhältnis zu Apple hat.
  • Meine Optik hat mich nicht getrübt: Ina war früher Ian.
  • Kann sich Millionär Greg keine besseren Hemden leisten? Das Design dieses Hemds lässt einem alle Körperhaare zu Berge stehen.

Tags: , , , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 29. Oktober 2014

Mac bootet nach Upgrade auf Yosemite und TimeMachine-Restore nicht mehr

Kürzlich durfte ich einem Arbeitskollegen helfen, welcher sein neues Retina MacBook-Pro bei der Installation von Mac OS X Yosemite und dem anschliessenden Restore des TimeMachine-Backups zerschossen hatte.

Bootete der Kollege den Mac, erschien alsbald das blinkende Fragezeichen, welches darauf hindeutete, dass im System kein brauchbares Boot-Volume gefunden wurde.

Wir booteten deshalb in den Recovery-Modus und ich sah mir anschliessend die Situation genauer an. Im Disk Utility erschien die Festplatte zwar, uns war es aber nicht möglich, Partitionen auf der Festplatte zu erstellen oder zu löschen. Wählten wird die Systempartition an, blieb der „-„-Knopf (für „Löschen“) ausgegraut.

Ich wechselte deshalb in Terminal.app und startete auf einem anderen PC einige Google-Suchen zur Thematik. Äusserst rasch stiess ich auf folgende Ask Different/Stackexchange-Frage:

Can’t ever remove partition?

Wie in der Frage dargelegt führte ich ebenfalls folgendes Kommando aus:

# diskutil list
    ~ - Tue Aug 14 10:12:00: diskutil list
    /dev/disk0
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *512.1 GB   disk0
       1:                        EFI                         209.7 MB   disk0s1
       2:                  Apple_HFS MacSSD                  425.7 GB   disk0s2
       3:                 Apple_Boot Recovery HD             784.2 MB   disk0s5
       4:          Apple_CoreStorage MacSSD 2                85.3 GB    disk0s4   <--- Want to remove this
       5:                 Apple_Boot Boot OS X               134.2 MB   disk0s6
    /dev/disk1
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:                  Apple_HFS MacSSD2                *84.9 GB    disk1

(Symbolauszug) Wie auch bei dem Terminalauszug auf Stackexchange lag das Problem bei uns auch bei einer Partition, die als "Apple_CoreStorage" gekennzeichnet war. Dies bedeutet, dass die Partition mit FileVault verschlüsselt ist.

Der Kollege gab mir sein OK, dass ich die Partition löschen konnte, da er ja ein aktuelles Backup auf seiner TimeCapsule liegen hatte. Wie in der Antwort auf Stackexchange beschrieben listet ich zuerst alle File Vault-Partitionen auf:

# diskutil cs list

Anschliessend kopierte ich die Volume ID des Logical Volumes, eine Zeichenkette aus den Buchstaben und Zahlen A-F0-9. Als nächstes löschte ich die Volumengruppe:

# diskutil cs delete <Volume ID>

Nach dieser Aktion starteten wir Disk Utility wieder - und siehe da, die Festplatte konnte neu partitioniert werden.

Meine Vermutung war daraufhin, dass der Restore mit Time Machine eine fehlerhafte Manipulation an der Festplattenverschlüsselung vorgenommen und die Partition unlesbar gemacht hatte.

Tags: , , , , ,
Labels: Apple

1 Kommentar | neuen Kommentar verfassen

Mittwoch, 10. September 2014

Kurzkritik Apple Watch

Mittlerweile habe ich mir die Zeit genommen, um den gestrigen Apple Special Event zu Gemüte zu führen. Nachfolgend einige wenige Bemerkungen zum (vielleicht) neuen Apple-Blockbuster:

  • Ich mag das Logo — Apple-Apfel mit „WATCH“ in Grossschrift — nicht. Es schaut nicht elegant aus.
  • Ich könnte wetten, dass die Uhr auf Grund technischen Einschränkungen dicker ist, als es manch einem Apple-Designer lieb ist
  • Die Möglichkeit, Herzschlag und kleine Skizzen mit einem anderen Apple Watch-Träger zu teilen, ist eines der Killerfeatures, welche es weiter zu beachten gilt. Ich kann mir gut vorstellen, dass eine solche Anwendung bald auch auf’s iPhone kommen wird. Als ich die Demonstration dieser Funktion sah, musste ich mich an einen Zivilschutzkollegen erinnern: Er, gutaussehender Secondo im besten Alter, zeigte mir, wie er über sein Handy unregelmässig seine Angebetete anrief. Ihr Telefon klingelte, doch die Abmachung war es, den Anruf nicht anzunehmen. Die Bedeutung solcher Aktionen: Den anderen wissen zu lassen, dass man an ihn denkt.
  • Grösstes Problem, welches mir während der Demo des Produkts bewusst wurde: Wann benutze ich den Touch-Screen, wann benutze ich die „digitale“ Krone? Diese zwei Eingabearten werden meiner Meinung nach noch mächtig zu Verwirrung sorgen.

Und zu guter letzt: Wie lange reicht eigentlich die Batterie dieses Teils?

Für mich als zunehmenden Traditionalisten und Bünzli ist klar: Wenn ich jemals wieder eine Uhr tragen werde, dann etwas edles, elegantes und langlebiges aus Schweizerischer Manufaktur.

Tags: ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 10. September 2014

Rigide Qualitätskontrolle versagt bei Apples Special Event vom September 2014

Die Ankündigung und die Gerüchteküchen haben wahrlich nicht zu viel versprochen — auch wenn sowohl die Apple Watch als auch die zwei neuen, grösseren iPhones 6 nichts für mich sein werden. Das iPhone 5s hingegen hat sozusagen über Nacht 200 Franken an Wert eingebüsst und erscheint mir je länger desto mehr als ein verführerisches Angebot.

Was mich heute ab 19 Uhr fürchterlich aufgeregt hat waren die mannigfaltigen Probleme mit dem Live-Stream, welchen ich mir über unseren Apple TV am neuen 50″ Plasma zu Gemüte führen wollte. Denkste!

  • Wie üblich brach die Übertragung in regelmässigen Abständen ab und ich musste den Apple TV-Kanal erneut von Hand aufrufen. Das bin ich mir bereits von WWDC-Keynotes gewohnt
  • Neu war jedoch das äusserst hässliche Testbild mit dem Programm des Tages, welches aus dem letzten Jahrhundert, so ca. zur Einführung des Farbfernsehens, zu stammen scheint. Da leidet bei Apple die Leidenschaft für das Detail seit Steves Ableben doch etwas zu stark … (wobei ich annehme, dass das Bild vom Sohn des CEOs des Satellitendienstleister hergestellt wurde)
  • Zu guter Letzt — aber zur Freude meiner Verlobten — hörte man einerseits Tim Cook durch die Veranstaltung führen, im Off aber säuselte mit einer Echtzeit-Übersetzung eine Frauenstimme auf Chinesisch (Mandarin).

Würde Steve leben, stünden morgen einige Mitarbeiter auf der Strasse und ausgewählte Dienstleister dürften von Apple wohl nie mehr mit Aufträgen bedacht werden …

Tags: , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Mittwoch, 11. Juni 2014

FileVault 1 schrumpfen

Sicherheitsbewusste Mac-User werden das Phänomen kennen: Nach einigen Monaten wird das FileVault 1-Image eines Benutzerkontos fett und belegt trotz regelmässigen manuellen Säuberungsaktionen von Dateien und Ordnern (Disk Inventory X zu Hilfe!) unerklärbar viel Speicherplatz.

Apple verwendet das sogenannte .sparsebundle-Format, um die Daten im home-Verzeichnis eines Benutzers in einem verschlüsselten Image abzulegen. Das Image scheint die Eigenschaft zu haben Speicherplatz nicht immer automatisch freizugeben.

Dem kann Abhilfe geschafft werden:

  1. Über die Systemsteuerung einen zweiten Mac OS X-Benutzer einrichten
  2. Diesem Benutzer ist die Berechtigung zur Administration des Rechners zu geben
  3. Logout aus dem eigenen Konto
  4. Login in das zweite Konto
  5. Terminal öffnen
  6. $ sudo hdiutil compact /Users/.mario/mario.sparsebundle

    eingeben

  7. Logout aus dem fremden Konto
  8. Login in das eigene Konto

Nun könnte die Festplatte um einige Gigabytes leichter sein.

Problem

Führt man obiges Shell-Kommando auf einem Laptop durch, könnte einem folgende Fehlermeldung entgegengeworfen werden:

Initializing ...
Finishing ...
hdiutil: compact failed – Function not implemented

Ein grosses Bravo an Apple für völlig nutzlose, nichtssagende Fehlermeldungen! Die Ursache ist im Batteriebetrieb des Laptops zu suchen. Die Lösung des Problems ist deshalb die Verwendung der Option -batteryallowed:

$ sudo hdiutil compact /Users/.mario/mario.sparsebundle -batteryallowed

Quelle: Solution for hdiutil: compact failed – Function not implemented

Tags: , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Sonntag, 25. Mai 2014

curlftpfs unter Mac OS X

Ergänzungen meiner IT-Installation machten es kürzlich nötig, dass ich neu auch unter Mac OS X curlftpfs einsetze, um per FTP von bestimmten Web-Sites Sicherheitskopien anzufertigen (Stichwort: Vagrant und puPHPet, dank an Christian für die „Erleuchtung“!)

Entweder hat sich curlftpfs in der Zwischenzeit weiterentwickelt, oder unter Mac OS X läuft der „Karren“ etwas anders. Auf jeden Fall habe ich bei der Adaptierung meiner Linux-Scripte unter Mac OS X folgendes gelernt:

MacPorts

curlftpfs installiert man sich folgendermassen:

# port install curlftpfs

Wenn man curlftpfs dann zum ersten Mal ausführt, warnt einem Mac OS X (hier: 10.9 Mavericks), dass man eine Kernelextension aktiviert, welche von einem unbekannte Entwickler kompiliert wurde. Henusode … (NSA lässt grüssen). Die Warnung ist seither nie mehr aufgetaucht; ich hoffe, dass dies auch nach einem Reboot so bleibt.

Geduldiges mounten

In Tests hat sich herausgestellt, das das Mounten von FTP-Volumen längert dauert als unter Linux. Meinem Script habe ich deshalb folgendermassen Geduld beigebracht:

...
MAXIMUMITERATIONS=5000
...
TIME=$(date +%H:%M:%S)
echo -n "Checking whether mountpoint is populated ($TIME): "

COUNTER=0
while [ ! -d "$SOURCE" ]
do
	let COUNTER=COUNTER+1
	echo -n "."
	
	if [ "$COUNTER" -eq "$MAXIMUMITERATIONS" ]
	then
		echo "Mountpoint still not available after $COUNTER iterations. Aborting."
		exit 1
	fi
done
...

In der Variable $SOURCE ist der Pfad zu einem auf dem FTP-Server vorhandenen Unterordner gespeichert. Sobald bash meldet, dass dieser nun verfügbar ist, kann ich mit den Kopieraktionen beginnen.

Zugriff verweigert

Bei den Tests traf ich auch auf ein Berechtigungsproblem: Manchmal wurde rsync beim Traversieren von FTP-Ordnerstrukturen der Zugriff verweigert. Nach einigem Pröbeln realisierte ich, dass einige Ordner auf den FTP-Servern das Execution-Bit nur für den Owner gesetzt hatten, nicht aber für die Gruppe oder gar Dritte. In einem Fall passte ich die Berechtigungen über den FTP-Client meiner Wahl an, in einem anderen Fall war ich mir todsicher, dass ich allen Serverbenutzern definitiv keine Berechtigung zum Lesen aller meiner Dateien geben wollte. Was nun?

Folgende Option verhindert, dass curlftpfs respektive FUSE bei FTP-Verbindungen Berechtigungschecks durchführen (dies ist hier Aufgabe des FTP-Servers — gibt dieser Zugriff auf eine Datei, hat definitiv schon eine zuverlässige Authentifizierung und Authorisierung stattgefunden):

$ curlftpfs -o defer_permissions ...

Zeichensalat

In meinem älteren Blog-Artikel zu curlftpfs habe ich gezeigt, wie der Zeichensatzproblematik unter Linux begegnen kann. Unter Mac OS X klappt dies so nicht. Stattdessen sind folgende Werte an curlftpfs zu übergeben:

$ curlftpfs -o modules=iconv,from_code=latin1

Quelle: International characters (e.g. Swedish åäö) in remote file system folder names makes Finder hang #71

Den Ausgabezeichensatz finden FUSE respektive curlftpfs offenbar selber heraus.

Dem Parameter from_code ist natürlich der Zeichensatz des FTP-Servers mitzugeben. Es sind alle iconv bekannten Zeichensätze konfigurierbar:

$ iconv -l

In Verbindung mit rsync führt dies aber zum unerwünschten Verhalten, dass Verzeichnisse und Dateien mit Umlauten im Namen bei jeder Synchronisation erneut heruntergeladen werden (ich bin unschuldig, das war ein anderer Benutzer des Servers!).

Tags: , , , , ,
Labels: Apple, Linux

Keine Kommentare | neuen Kommentar verfassen

Montag, 12. Mai 2014

„Delete VPN“-Button fehlt unter iOS 7

Da ich heute erfahren habe, dass ich mit iOS eine PPTP-VPN-Verbindung zu meinen DD-WRT-Router herstellen und mich und meine Daten so in öffentliche Funknetzwerken schützen kann, habe ich mich hinter die Konfiguration meiner drei iOS-Geräte gemacht.

Auf dem kürzlich bei einer Mitarbeiteraktion erstandenen iPad 4 64GB WiFi + 3G war unter Settings > General > VPN bereits ein VPN-Profil meiner Alma Mater erfasst (Ursache: Ich habe das Backup meines iPad 1 auf das neue iPad geladen, welches ich während meiner Studienzeit verwendet habe). Dummerweise fehlte dem Cisco IPSec-Profil der Delete VPN-Knopf zuunterst in den Konfigurationseinstellungen (via Tastendruck auf das runde i-Symbol). Was zum Teufel … Wie kriege ich dieses längst nicht mehr genutzte VPN-Profil von meinem iPad weg?

Einige Minuten Internetrecherchen später hatte ich die Lösung meines Problems gefunden: „Can’t Delete VPN Profile“ Fix

Kurz zusammengefasst geht es darum, Benutzernamen, Serveradresse, Secret, Passwort, sonstige Formularfelder sowie den VPN-Typ mit Phantasiewerten anzupassen und das Profil zu speichern. Beim nächsten Aufruf der Konfigurationseinstellungen strahlte mir der Delete VPN-Knopf dann wie gewünscht entgegen — und das Profil lag innert Sekundenbruchteilen im digitalen Nirvana.

Tags: , , , , , , , , ,
Labels: Apple

Keine Kommentare | neuen Kommentar verfassen

Dienstag, 29. April 2014

Apples TextEdit unter Mac OS X Mavericks mit einer leeren, lokalen Textdatei starten

Sowohl unter Windows als auch unter Mac OS X starte ich die Text-Editoren notepad.exe respektive TextEdit.app mindestens einmal pro Tag, um formatierten Text in unformatierten Text umzuwandeln und so zwischen zwei Applikationen hin- und herzukopieren. Immerhin Microsoft Office verfügt mittlerweile über eine entsprechende Einfügen-Funktion, welche die Formatierungen automatisch entfernt. Doch für andere Anwendungsarten muss man weiterhin auf diesen lästigen Workaround zurückgreifen.

Unter Mac OS X wird dieses Unterfangen seit Mac OS X Mavericks deutlich erschwert, weil einem beim Starten von TextEdit nicht umgehend eine leere Textdatei entgegenstrahlt. Stattdessen fanden die Mac OS X-Entwickler (resp. deren übereifrigen Manager) die iCloud-Integration des neuen Betriebssystem offenbar so toll, dass sie den Benutzer immer zuerst fragen, ob er die neue Textdatei auf dem lokalen Rechner oder nicht aber doch lieber in iCloud ablegen möchte. Wenn einem dieses eher Microsoft zuzuschreibende Verhalten nicht den letzten Nerv raubt …

Um das vor Mavericks gewohnte Verhalten wieder hinzubekommen, behilft man sich der Kommandozeile:

defaults write -g NSShowAppCentricOpenPanelInsteadOfUntitledFile -bool false

Quelle: How to make TextEdit open with a blank file by default?

Tags: , ,
Labels: Apple

1 Kommentar | neuen Kommentar verfassen