Kategorie: mei sicht

“mei Sicht“ ist der Ort für meine persönlichen Einblicke, Kommentare und nostalgischen Rückblicke. Es geht weniger um nackten Code, kalte Hardwarebausteine, sondern um das Gefühl, die Geschichte und die gesellschaftlichen Auswirkungen der Technik die uns geprägt hat, nicht in Vergessenheit geraten zu lassen.

  • plist, ChatGPT und keine Sicherung

    In meiner „mei Sicht“-Reihe geht es heute um einen dieser Momente, die man eigentlich kommen sieht und man weiß schon in der Sekunde des Tastendrucks: Das war gerade ein monumentaler Fehler.

    Dieser vermeidbare Fehler führte mich zu einer unfreiwilligen Zeitreise in meine Studienzeit, in der mein Professor uns von den Vorzügen des vi Texteditors überzeugen wollte und bei mir und weiteren kläglich scheiterte.

    Nun saß ich da und sah mich schmerzlich daran erinnert, meine Favoriten nano und cat konnte ich hierbei nicht verwenden.

    Eine kaputt konfigurierte config.plist, eine gute Stunde Schwitzen und Recherchieren und die Erkenntnis:
    Vielleicht sollte man nicht jeden Vorschlag der KI blind übernehmen und verdammt noch mal, ein Backup machen.

    Die Falle schnappt zu

    Nach langen und verzweifelten Webrecherchen zum „Sleep Wake failure in EFI“ meines MacBook Pro (early 2013) kam ich auf die glorreiche Idee „frag doch mal die KI“, soll diese sich doch mit all den Lösungsansätzen rumplagen und mir diese zusammenfassen und ich sag ihr dann einfach, ob ich das schon probiert hab und ob es funktioniert oder weiterhin zum Fehler kommt. So war mein glorreicher Plan!
    So kam es, dass ein paar Parameter in der config.plist⁠ (meiner Bootloader-Konfigurationsdatei für OpenCore) angepasst werden mussten.
    Anstatt kurz innezuhalten und eine schnelle Kopie der Datei anzulegen (⁠config_backup.plist⁠ dauert schließlich stolze fünf Sekunden), tippte ich die Werte direkt ein, was soll schon passieren, speicherte und klickte auf Neustart.
    Mein Lohn, ein schwarzer Bildschirm. Kein macOS-Logo. Stattdessen der gefürchtete EFI-Shell-Error:
    ⁠Initialization was not successful. Edit in EFI Shell failed…⁠
    Nichts ging mehr. Der Bootloader war zerschossen, weil die Syntax der Plist-Datei fehlerhaft war. Und ich hatte keine Sicherung.

    Die Rettung macOS-Recovery

    Da der normale Bootvorgang blockiert war, führte mein Weg über die macOS-Wiederherstellung (Recovery).

    1. Den Mac mit gedrückter Recovery-Tastenkombination starten.
    2. Eine externe Maus anschließen, weil mein Trackpad nicht erkannt wurde und die initialen Konfigurationen sowie das WLAN mühsam neu angeben (weil in der Recovery-Umgebung natürlich nichts automatisch verbunden ist).
    3. Oben im Menü über die Dienstprogramme das Terminal öffnen.

      Da saß ich nun. Kein schickes Xcode, kein iA Writer, keine Maussteuerung. Nur ich, eine blinkende Kommandozeile und der nackte Code auf der versteckten EFI-Partition.

    Der Endgegner: „vi“ und der Fehler E949

    Um die Datei zu retten, musste ich die EFI-Partition mounten (wie das geht, habe ich ja kürzlich in kürz & fix beschrieben) und die ⁠config.plist⁠ bearbeiten. Klingt easy, doch meine Verzweiflung stieg an als ich nano eingab… nichts, bis auf die Meldung, dass dieser Befehl unbekannt sei.
    Unter macOS-Recovery gibt es dafür nur einen Editor, der standardmäßig an Bord ist: vi (bzw. vim).

    vi config.plist
    

    Wer noch nie mit vi gearbeitet hat: Es ist der Endgegner unter den Texteditoren. Man kann nicht einfach lostippen. Man muss erst ⁠i⁠ für den Einfügemodus drücken. Und wehe, man drückt die falschen Tasten. Ich suchte im Keller meine alten Notizen, in dem ich den Lebenszyklus und die entsprechenden Tastenkombinationen notiert hatte. Glücklicherweise fand ich diesen auch. Nichtsdestotrotz musste ich die Bearbeitung ein paarmal abbrechen, da ich die falschen Tasten drückte.

    Ich suchte die Zeile mit den fehlerhaften Parametern im NVRAM-Bereich und änderte die Werte mühsam auf den alten Stand zurück. Doch als ich den Editor mit dem klassischen Befehl ⁠:wq⁠ (write & quit / speichern und beenden) verlassen wollte, spuckte mir das System ein eiskaltes:
    ⁠E949: File changed while writing⁠ entgegen.
    Ein Schreibfehler! In der Recovery-Umgebung war die Datei blockiert.
    Der vi-Workaround
    Nach kurzem Fluchen erinnerte ich mich an die alten Unix-Tricks. Wenn vi die Originaldatei beim direkten Überschreiben blockiert, weicht man auf eine neue Datei aus.

    1. Im vi-Befehlsmodus eingeben: ⁠:w config_neu.plist⁠ (Das speichert den korrigierten Text in eine neue, unblockierte Datei).
    2. Den Editor mit ⁠:q!⁠ (beenden, ohne Speichern der Originaldatei) verlassen.
    3. Im normalen Terminal die alte Datei mit der neuen, reparierten Datei überschreiben:

    cp config_neu.plist config.plist

    Das Happy End

    Ein Stoßgebet, ein beherzter Druck auf den Power-Button – und siehe da: Mein macOS bootete wieder, als wäre nie etwas gewesen.


    .plist Dateien unter macOS ohne Zusatzkosten editieren

  • Die Zeit der Shareware – als Vollversionen per 0190-Nummern freigeschaltet wurden und Codes offen in Dateien lagen

    Die Zeit der Shareware – als Vollversionen per 0190-Nummern freigeschaltet wurden und Codes offen in Dateien lagen

    In meiner „mei Sicht“-Reihe blicke ich heute auf eine Zeit zurück, die geprägt war von kleinen Software-Anbietern, die auf dem Hype der Computerisierung aufspringen wollten – mit einem Geschäftsmodell, das heute kaum mehr vorstellbar ist.

    Was versteht man unter Shareware

    Es gab eine Zeit in der das Internet noch kein verbreitetes Medium war, um an Software zu kommen. Diese Ära war geprägt durch Disketten und Shareware CDs, die ein großes und günstiges Sortiment an Vielfalt boten und in Supermärkten oder in Zeitschriftenregalen zu finden waren. Man erwarb für 9,95 DM eine CD mit zehn, zwanzig oder mehr (Demo-) Spielen, die damit lockten, sich einen Eindruck des Spiels zu verschaffen, sich beim Anbieter zu melden und durch Beilage von Bargeld oder Überweisung die vollständige Version zu bestellen.

    Auch ein beliebtes Modell war es, 0190-Nummern anzubieten, welche 1,95 DM pro angefangene Minute, per langsam sprechende Bandansage einen Code übermittelten, mit denen du Anwendungen und Spiele oder zusätzliches Vollversionsmaterial freischalten konntest.

    Das Geschäftsmodell mit den 0190-Nummern

    Wie erfolgreich das Geschäftsmodell am Ende blühte oder doch eher verwelkte, entschied zum Teil die zur Verfügung gestellte Shareware selbst. Über die Jahre wurde dies recht unscheinbar durch Demoversionen und die zunehmende Verbreitung durch das Internet verdrängt. Ein endgültiges Ende nahm es durch das Verbot der 0190-Nummern im Jahr 2005, aber bereits davor waren viele der Nummern gar nicht mehr erreichbar, weil sich die Firmen und Vertriebe auflösten.

    Dem bin auch ich als Jugendlicher, damals mit mager ausgestattetem Taschengeld und immer auf der Suche nach einem Schnäppchen, verfallen. Ich durchstöberte die CD-Türme in den Supermärkten und versuchte anhand der Labels, die für mich interessantesten Spiele-Shareware-Sammlungen zu ergattern.

    Wer erinnert sich noch an Skunny – das Adventure-/ Jump-n-Run-Eichhörnchen, das wie eine Mischung aus Donkey-Kong-Konzepten zusammengebaut aussah und ganz präsent eine Shareware-CD zierte oder „Highway Turbo Racer“ von RIP Software?

    Nicht nur eins sondern mehrere dieser Prachtstücke warben mit zusätzlichen Vollversionen, wenn man sich bei der 0190-Nummer meldete und eine der verfügbaren Kategorien (wie Weltraumspiel, Geschicklichkeit, Rennspiel usw.) nannte. Natürlich müsste man für jede einzelne Kategorie separat anrufen und konnte nicht mehrere gleichzeitig nennen.

    Ein paar Jahre später fand ich den Mut und mit der Erlaubnis der Eltern, die angegeben Nummer anzurufen und siehe da: Es war zu spät. Keine Bandansage, die mich abzockte. Keine Weiterleitung. Nur ein monotones Tuten und niemand, der meinen Anruf entgegennehmen wollte.

    Meine Neugier verpuffte jäh und Enttäuschung breitet sich aus, dass ich nie erfahren würde, was diese CD mir noch hätte alles ermöglichen können.

    Analyse

    Doch mein Forscherdrang und meine Neugier entflammten nach dem Enttäuschenden Telefonat. Wenn nur ein Code abgefragt wird, muss der Inhalt doch bereits vollständig vorhanden sein. Die Dateipfade gaben aber nur die Shareware-Spiele sowie das Start-/Installationsmenü wieder.

    Was blieb, ist somit die Untersuchung der bestehenden Dateien, angefangen mit der Datei, die für das Start- und Installationsmenü verantwortlich war. Nach kurzer Recherche mit dem in DOS üblichen Editor „edit“ stachen zwischen kryptischen Zeichenketten plötzlich die unverschlüsselten Codes der einzelnen Kategorien ins Auge.

    Geschäftmodell der damaligen Ära

    Es ist heutzutage unvorstellbar, mir welcher vielleicht naiven Art früher Daten, Informationen und Anwendungen verschleiert wurden und davon ausgegangen wurde, dass sich schon niemand die Dateien in einem Editor anschauen würde. Oder den Herstellern war schlichtweg selbst nicht bewusst, dass ihr Geschäftsmodell auf dünnen Dateifundamenten ruhte.

    Das alles war mir damals egal, denn ich konnte endlich die mir bis dahin verborgene Welt der Spiele erkunden.