Dark Mode in macOS aktivieren

Ein interessantes Feature von macOS seit Yosemite ist der dunkle Modus, mit dunkler Menüleiste und Dock. Besonders für die kreative Arbeit ist das eine willkommene Einstellung, auf die Viele gewartet haben.

Dunkle Menüleiste

Er wird standardmäßig mit einem Haken in den Systemeinstellungen – Allgemein aktiviert (siehe Schaubild).

Dunkle Menüleiste aktivieren

Wer gerne mit Tastaturkurzbefehlen arbeitet, kann den Dark Mode auch mit Ctrl-Alt-Cmd-T aktivieren. Damit dieses Kürzel funktioniert, muss man allerdings zunächst im Terminal folgenden Befehl eingeben:

sudo defaults write /Library/Preferences/.GlobalPreferences.plist _HIEnableThemeSwitchHotKey -bool true

Dazu muss das Passwort eines Administrators eingegeben werden. Anschließend den Benutzer einmal ab- und wieder anmelden (oder einen Neustart durchführen), und fortan steht der praktische Tastaturbefehl immer zur Verfügung.

Energiespar-Einstellungen nach Yosemite-Update

Energiesparoptionen

Apple hat einen großartigen Job geleistet, das Updates eines Mac-Servers auf OS X 10.10 Yosemite und Server 4.0 ist tatsächlich so einfach wie nie. Selbst komplexe Installationen werden auf Knopfdruck auf die neue Version aktualisiert und laufen sofort! Ich habe bei den Migrationen, die ich in den letzten Monaten durchgeführt hatte, nur noch in kleinen Details eingreifen müssen (natürlich gibt es nach wie vor unerlässliche Vorbereitungs-Maßnahmen wie Notfall-Backups, Aktualisierungen und Recherchen, ob sämtliche Anwendungssoftware vom neuen System unterstützt wird).

Ein kleines, aber wichtiges Detail, das mir bei der Migration aufgefallen ist, und das bei Server-Maschinen wichtig ist: die Funktion zum automatischen Neustart nach Stromausfall ist nach dem Update ausgeschaltet und muss erst wieder aktiviert werden, denn Server sollen üblicherweise rund um die Uhr verfügbar sein, und niemand will nachts um 3 in die Firma fahren, um einen ausgeschalteten Server manuell einzuschalten (Apples Xserve mit Lights-Out-Management ist ja leider ausgestorben).

Den wichtigen Haken also findet man in den Systemeinstellungen -> Energiesparoptionen (siehe Schaubild).

Energiesparoptionen

FusionDrive auf älteren Macs erstellen

Diskspeedtest

Als Apple auf der Keynote im Oktober 2012 neue Mac minis und iMacs vorstellte, erntete das geheimnisvolle FusionDrive sofort eine Menge Aufmerksamkeit. Kurz erklärt werden bei dieser Technik eine SSD und eine herkömmliche Festplatte zu einem Laufwerk kombiniert, was natürlich die Geschwindigkeitsvorteile des Flash-Speichers mit dem günstigen Massenspeicher von Festplatten kombiniert. Zusätzlich sorgt das Betriebssystem dafür, dass Daten, die häufig gebraucht werden, automatisch auf der SSD landen und andere, seltener gebrauchte Dateien auf der langsameren rotierenden Platte.

Nachdem ich dann die ersten Artikel* las, die sich mit der “mutmaßlich” darunter steckenden Technik beschäftigten, juckte es mich natürlich in den Fingern, das mal selbst auszuprobieren. Die Voraussetzungen in Form meines Versuchsobjekts waren schon gegeben: Ein Macbook Pro von Anfang 2011 mit einer Intel Series 330 SSD mit 180 GB sowie einer Seagate Momentus XT Hybrid-Festplatte mit 500 GB Kapazität an Stelle des ausgebauten Superdrives. Und natürlich war auch ein frisches Time Machine zur Stelle, das ich während meiner Versuche auch brauchen würde!

Diskspeedtest

Vorbedingungen und Warnhinweise
Ein aktuelles Backup ist Pflicht, denn beim Einrichten werden alle Daten von den Festplatten gelöscht.
In meinem Fall musste ein zweiter Mac mit Mountain Lion (ein Mac mini late 2009) für die Installation herhalten, denn so, wie es in den u.a. Artikeln beschrieben wird, hat es bei mir leider nicht funktioniert. Demnach soll man den Rechner von einem OS X Installationsmedium aus starten (z.B. 10.8, 10.9 oder 10.10 auf USB-Stick) und die internen Platten per Terminal zum Fusion Drive formatieren. Das hat bei mir nicht funktioniert. Stattdessen erhielt ich Fehlermeldungen und das System ließ sich nicht darauf installieren. Hier also mein Weg, der funktioniert hat. Folgendes braucht ihr dafür:

  • Mac mit interner SSD und HDD (hier Macbook genannt)
  • Aktuelles Backup
  • Ggf. zweiter Mac mit Mountain Lion oder neuer (fortan “Mac mini” genannt, weil das mein Hilfsgerät war)
  • Firewire- oder Thunderbolt-Kabel, um die beiden Macs verbinden zu können
  • OS X Installationsprogramm (10.8 oder neuer)
  1. Macbook mit Drücken der T-Taste beim Start im Target-Modus starten und mit Mac mini verbinden. Damit erscheinen die internen Laufwerke des Macbook als externe Festplatten auf dem Desktop des Mac mini.
  2. Festplattendienstprogramm öffnen und die beiden Laufwerke des Macbook löschen (so dass jedes Laufwerk jeweils 1 Partition aufweist; Partitionsschema GUID, Volumeformat HFS+ journaled).
  3. Terminal öffnen und
diskutil list

eingeben. Damit erhaltet ihr eine Liste der auf dem System verfügbaren Laufwerke und ihrer internen Bezeichnungen:

MacbookPro:~ sk$ diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *180.0 GB disk0
1: EFI 209.7 MB disk0s1
2: Apple_CoreStorage 179.7 GB disk0s2
3: Apple_Boot Boot OS X 134.2 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk1
1: EFI 209.7 MB disk1s1
2: Apple_CoreStorage 499.8 GB disk1s2
3: Apple_Boot Boot OS X 134.2 MB disk1s3
/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS MacFD *670.0 GB disk2

Hier sollte man die Laufwerksnamen des Macbooks notieren, also im obigen Beispiel disk0 und disk1. ACHTUNG: Da das Macbook ja am Mac mini fremdgestartet ist, hat es wahrscheinlich höhere Nummern, z.B. disk3 und disk4. Wenn man die falschen Laufwerke notiert, löscht man im nächsten Schritt möglicherweise die falsche Festplatte! Die richtigen Laufwerke kann man z.B. an der angezeigten Kapazität erkennen.
4.
Jetzt gehts ans Eingemachte: Die beiden Platten werden jetzt zu einer logischen Volumegruppe kombiniert. Folgenden Befehl im Terminal ausführen (als Superuser oder root):

diskutil cs create FusionDrive disk0 disk1

FusionDrive ist dabei ein frei wählbarer Name. Auf Sonderzeichen oder Leerzeichen sollte verzichtet werden.
5.
Damit ist schonmal ein “fusioniertes” Laufwerk entstanden, das nun noch partitioniert werden muss. Dazu brauchen wir die eindeutige Identifikationsnummer des neuen Laufwerks, das wir gerade angelegt haben. Die kriegen wir durch Eingabe von

diskutil cs list
CoreStorage logical volume groups (1 found)
|
+-- Logical Volume Group F628F010-3CFF-4BC7-90CE-CD61EC7C44E1
=========================================================
Name: FusionDrive
Size: 989010051072 B (989.0 GB)
Free Space: 9922387968 B (9.9 GB)
|
+-< Physical Volume 52A10DE8-6CDB-4906-962D-7FD567208CDF
| ----------------------------------------------------
| Index: 0
| Disk: disk0s2
| Status: Online
| Size: 239713435648 B (239.7 GB)
|
+-< Physical Volume C16BEA28-3857-4F00-A3FF-95B6242772C6
| ----------------------------------------------------
| Index: 1
| Disk: disk1s2
| Status: Online
| Size: 749296615424 B (749.3 GB)
|
+-> Logical Volume Family BD058799-5A3E-4005-B323-CF858ADC6C5A
----------------------------------------------------------
Encryption Status: Unlocked
Encryption Type: None
Conversion Status: NoConversion
Conversion Direction: -none-
Has Encrypted Extents: No
Fully Secure: No
Passphrase Required: No

So sieht die Ausgabe aus. Die erste lange Zahl nach “Logical Volume Group” müssen wir kopieren, weil wir sie zum Partitionieren benötigen. Bitte beachtet, dass ihr in diesem Schritt auch die Kapazität des Laufwerks eingeben müsst. Ihr solltet 5-10 GB weniger als die angezeigte verfügbare Kapazität angeben. Im obigen Beispiel werden knapp 990 GB (aus 240 GB SSD und 750 GB HDD) angezeigt, man sollte hier nur 980 GB formatieren. In meinem Fall (180 GB SSD und 500 GB HDD) wurden knapp 680 GB Kapazität angezeigt, ich habe nur 670 GB formatiert (um Platz für Recovery Partition etc. zu lassen).
6.
Der Befehl zum Partitionieren:

diskutil cs createVolume F628F010-3CFF-4BC7-90CE-CD61EC7C44E1 jhfs+ MacFD 670g

Damit erstelle ich aus dem Core Storage-Laufwerk eine Core Storage-Partition im HFS+-Format (mit Journal natürlich) und 670 GB Kapazität und nenne es “MacFD”. Hier habt ihr wieder freie Hand, könnt den Namen der Festplatte aber auch später noch im Finder ändern.
7.
Das war’s schon! Das neue Laufwerk sollte auf dem Desktop erscheinen und man kann jetzt den OS X Installer starten (10.8 Mountain Lion oder neuer) und das Betriebssystem auf dem Macbook (im Target Modus) installieren. Wenn man direkt das Time Machine-Backup zurückspielen möchte, sollte man das Macbook mit externem Installationsmedium (z.B. USB-Stickk mit OS X Installer) hochfahren, weil man dort direkt auswählen kann, das System von Time Machine wiederherzustellen.

Ein Test der Schreib- und Leseraten, z.B. mit DiskSpeedTest ergab bei wiederholter Ausführung eine deutliche Beschleunigung. Anfangs lagen die Werte bei jeweils ca. 85 MB, später war die Schreibrate bei über 200 MB/s und die Leserate bei bis zu 450 MB/s. Auch iPhoto fühlt sich viel flüssiger an im Vergleich zu vorher, wo alle Daten auf der Festplatte lagen.

*Quellenangaben:
http://arstechnica.com/apple/2012/10/more-on-fusion-drive-how-it-works-and-ho w-to-roll-your-own/
http://www.petralli.net/2012/10/analyzing-apples-fusion-drive-in-an-attempt-t o-retrofit-an-existing-macs-with-an-ssd-and-a-traditional-hard-disk/
http://jollyjinx.tumblr.com/post/34638496292/fusion-drive-on-older-macs-yes-s ince-apple-has

PHP gettext für OS X Yosemite Server

OS X Server kommt von Werk aus mit einer relativ umfangreichen PHP-Installation (Lion: PHP 5.3; Mavericks: PHP 5.4; Yosemite: PHP 5.5), bei der auf den ersten Blick nur wenige Wünsche offen bleiben. Die gettext-Erweiterung gehört jedoch nicht zum Lieferumfang. So wird sie installiert, damit man sie mit dem Apache Webserver von OS X Server verwenden kann:

Achtung! Dieser Artikel setzt voraus, dass Sie mit einem Programm wie dem Terminal umgehen können und keine Berührungsängste mit der Befehlszeile haben.

  1. Aktuelle Version der Xcode Command Line Tools (siehe https://developer.apple.com/xcode/downloads/) herunterladen und installieren, denn diese legt den Ordner /usr/includes an bzw. aktualisiert dessen Inhalte und bringt u.a. die PHP-Quelldateien mit, die für’s Erstellen der gettext-Erweiterung erforderlich sind.
  2. Aktuelle gettext-Version herunterladen (siehe http://ftp.gnu.org/pub/gnu/gettext/ – aktuelle Version im Oktober 2014: 0.19.2) – dafür habe ich den Ordner /SourceCache angelegt – und entpacken.
  3. Ins gettext-Verzeichnis wechseln und ./Configure, make und sudo make install durchführen.
  4. Von OS X verwendete PHP-Version herunterladen und entpacken; hier: PHP 5.5.14
  5. Im entpackten PHP-Ordner zu ext/gettext wechseln und dort die Befehle phpize, ./Configure, make und sudo make install eingeben. Die Erweiterung wird dann in /usr/libexec/php/extensions/non-debug-non-zts-20121212 abgelegt.
  6. Diesen Ordner muss man noch in der /etc/php.ini referenzieren. Dazu folgende Zeilen am Ende der Datei hinzufügen:
    extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20121212"
    [gettext]
    extension=gettext.so
  7. Apache neu starten und fertig.

Ich hoffe, der Artikel gefällt, und freue mich auf Kommentare!