Zur Startseite
Toxin
DE

Mac während Build wach halten: Xcode und Docker unter macOS

Der Build dauert vierzig Minuten. Man startet ihn, holt sich einen Kaffee und kommt zu einem Mac zurück, der seit zwanzig Minuten schläft.

Warum gerade Builds

Ein Build lastet den Prozessor voll aus und erzeugt doch keine einzige Eingabe. macOS entscheidet über den Ruhezustand nach der Zeit ohne Tastendruck und Mausbewegung, nicht nach der Last. Für das System sitzt niemand am Rechner.

Ob Xcode oder ein Build-Werkzeug selbst eine Assertion setzt, hängt vom Werkzeug und von der Art des Aufrufs ab. Wer es nicht geprüft hat, sollte sich nicht darauf verlassen.

Was beim Einschlafen passiert

Schläft der Mac, hält der Build an. Beim Aufwachen läuft er oft einfach weiter, aber nicht immer: Netzwerkverbindungen sind dann meist abgerissen, und ein Schritt, der gerade Abhängigkeiten geladen hat, bricht mit einer Zeitüberschreitung ab.

Bei Docker kommt eine Ebene dazu. Die Container laufen in einer virtuellen Maschine, die mit dem Mac schläft. Was danach fehlschlägt, sieht selten nach Ruhezustand aus, sondern nach einem zufälligen Netzwerkfehler.

Zwei Wege, ihn durchlaufen zu lassen

Im Terminal hält caffeinate -i den Mac genau so lange wach, wie ein Befehl läuft, etwa caffeinate -i make. Das ist genau, setzt aber voraus, dass man den Aufruf jedes Mal davorschreibt.

Mit Toxin startet man vor dem Build eine Spanne, die großzügig über der erwarteten Dauer liegt, oder eine unbegrenzte Sitzung für Builds ohne absehbares Ende. Die Restzeit steht im Bedienfeld, danach gilt wieder, was in den Systemeinstellungen steht.

Über Nacht und mit zugeklapptem Deckel

Für einen Build über Nacht reicht eine Spanne von zwölf Stunden. Toxin hält dabei auch den Bildschirm an; wer ihn nicht braucht, dreht die Helligkeit herunter.

Wer das MacBook dabei zuklappt, braucht den Deckel-Modus, denn das Zuklappen ist eine eigene Regel in macOS. Ein Build unter Volllast wird zugeklappt warm; der Mac sollte dabei frei liegen, nicht in einer Tasche.

Wenn der Build trotzdem abbricht

  • Symbol prüfen: umrissen heißt, es lief keine Sitzung.
  • Spanne zu kurz gewählt? Den Endzeitpunkt im Bedienfeld ansehen.
  • Deckel zugeklappt ohne Deckel-Modus? Dann hat macOS den Mac schlafen gelegt.
  • Netzwerkfehler mitten im Build? Oft ist das die Spur eines Ruhezustands.

Häufige Fragen

Reicht nicht caffeinate?

Für einzelne Befehle im Terminal ja. Toxin ist bequemer, wenn der Build aus Xcode, einer anderen App oder mehreren Schritten besteht und man nicht jeden Aufruf umschreiben will.

Verlangsamt Toxin den Build?

Nein. Toxin setzt nur eine Assertion und rechnet sonst nichts. Der Build bekommt dieselbe Leistung wie ohne.

Ein abgebrochener Build kostet selten Rechenzeit, sondern Aufmerksamkeit. Toxin hält den Mac wach, solange du es willst — eine Menüleisten-App für macOS, noch nicht im Mac App Store.

Startseite