rc.shutdown.local wird beim Shutdown nicht ausgeführt um NVRAM zu sichern

  • Schönen guten Abend ins Forum,


    hat jemand eine Idee warum der Script rc.shutdown.local beim Herunterfahren nicht ausgeführt wird.
    Mit "sh /etc/rc.shutdown.local" funktioniert der Script wunderbar.


    Der script hat eigentlich auch die richtigen Rechte für root.


    Gruß wl_michael


    PS: Wurde gelöst.
    Hier die Lösung

  • Hi, Nein der Script hat nicht die richtige Rechte.


    Es fehlen die Ausführungstechte.
    Also chmod 755 Datei



    Gesendet von meinem SM-G920F mit Tapatalk

    Mainboard : Gigabyte GA-Z87X-UD5H (Bios Rev. F10), CPU : Intel Core I7-4770K, Grafik : MSI GeForce GTX 770 2GB, Ram : Crucial Vengeance LP 32 GB, SSD: Samsung 840 EVO 500 GB, System: Catalina 10.15.5/ Windows 10

  • Danke für die Info!
    Das dachte ich auch erst. Der Script wird trotzdem nicht ausgeführt.


    Eventuell geht dieser Script gar nicht mehr unter Sierra oder High Sierra. Ich finde dazu nur leider gar nichts im Netz.
    Nutzt jemand ebenfalls diesen Script "/etc/rc.shutdown.local" um etwa NVRAM in eine Datei zu schreiben?


    Zurück lesen der Werte beim Systemstart habe ich hinbekommen über eine LaunchDaemons plist Datei.

  • Hast du probiert ob es manuell ausführbar ist und das macht was du willst?


    Gesendet von meinem SM-G920F mit Tapatalk

    Mainboard : Gigabyte GA-Z87X-UD5H (Bios Rev. F10), CPU : Intel Core I7-4770K, Grafik : MSI GeForce GTX 770 2GB, Ram : Crucial Vengeance LP 32 GB, SSD: Samsung 840 EVO 500 GB, System: Catalina 10.15.5/ Windows 10

  • Mit "sh /etc/rc.shutdown.local" funktioniert der Script. Am Script liegt es nicht.
    Ich weis nur nicht warum der nicht ausgeführt wird beim Herunterfahren.


    Eventuell wurde das von Apple geändert bei Sierra und High Sierra.

  • Ich kann heute meinen Hacki nicht booten. Gibt es in dem Verzeichnis nicht ein Verzeichnis wie rc.d oder so ähnlich?
    Andere Dateien wo man schauen könnte wann sie ausgeführt werden.


    Gesendet von meinem SM-G920F mit Tapatalk

    Mainboard : Gigabyte GA-Z87X-UD5H (Bios Rev. F10), CPU : Intel Core I7-4770K, Grafik : MSI GeForce GTX 770 2GB, Ram : Crucial Vengeance LP 32 GB, SSD: Samsung 840 EVO 500 GB, System: Catalina 10.15.5/ Windows 10

  • Inzwischen habe ich herausgefunden das für "/etc/rc.shutdown.local" die "/System/Library/LaunchDaemons/com.apple.SystemStarter.plist" zusändig war.


    Diese wurde tatsächlich ab Yosemite von Apple entfernt. Außerdem wurde dazu auch gleich das Programm "/sbin/SystemStarter" entfernt.
    Somit ist es nicht möglich einen Script beim Shutdown auszuführen.
    Anscheinend brauch OSX keine Shutdown Scripts.


    Daher mal die Frage in die Runde, wie habt ihr das gelöst mit NVRAM. Mein Latitude unterstützt kein NVRAM und daher gehen Einstellungen wie der Backlight Level bei jedem Neustart verloren.


    Gruß wl_michael

  • Mainboard : Gigabyte GA-Z87X-UD5H (Bios Rev. F10), CPU : Intel Core I7-4770K, Grafik : MSI GeForce GTX 770 2GB, Ram : Crucial Vengeance LP 32 GB, SSD: Samsung 840 EVO 500 GB, System: Catalina 10.15.5/ Windows 10

  • Hallo ObiTobi,


    Zweiter Eintrag hat geholfen. Hatte denn auch schon mal offen aber erst nicht verstanden.
    Den Daemon und den Script habe ich komplett neu geschrieben.
    NVRAM wird jetzt bei mir unter High Sierra und Sierra ( mit El Capitan geht das sicher auch ) beim Shutdown oder Reboot in eine Datei gespeichert und beim Starten wieder zurückgelesen.
    Wieder ein Stück näher an einem echten Apple. :D


    Hier noch eine kleine Anleitung:
    1. Folgenden Daemon "com.delta.nvram.set.plist" nach "/Library/LaunchDaemons" kopieren.


    2. Dann die Rechte Bereinigen im Terminal mit

    Code
    1. sudo chown 0:0 /Library/LaunchDaemons/com.delta.nvram.set.plist


    3. Ein Verzeichnis erstellen im Terminal mit

    Code
    1. sudo mkdir /nvram


    4. Den Script "save.nvram.sh" in diese Verzeichnis kopieren.


    5. 2x Neustarten. Erst beim zweiten Herunterfahren wird die Datei "nvram.plist" nach "/nvram" kopiert.
    Eventuelle Fehlerprotokolle sind unter "/nvram" zu finden.


    Hier noch beide Scripts als Code. Die Dateien sind identisch.


    com.delta.nvram.set.plist:


    save.nvram.sh:


    Prüfen kann man ob alles Funktioniert indem man mit diesem Befehl einen neue Variable erstellt:

    Code
    1. sudo nvram MyVar=TestValue


    Nach einem Neustart sollte diese Variable wieder zu sehen sein mit folgendem Befehl:

    Code
    1. nvram -p


    Gruß wl_michael