Bash Script bei Systemstart ausführen - Lüftersteuerung mit smcFancControl

  • Hallo,
    ich komme gerade nicht weiter: Beim Versuch die Lüfter manuell zu steuern habe ich bemerkt, dass die Minimale und Maximale RPM Zahlen nicht den Lüftern entsprechen. Mit dem terminal tool smc von smcFanController habe ich die Werte über "smc -f" ausgelesen. Ich habe übrigens smc nach /usr/local/bin kopiert, damit es ausführbar ist. Das Ergebnis ist:


    Ich steuere die Lüfter mit dem Programm TGPro und dort werden auch die 6000 angezeigt, meine Lüfter können aber nur max. 2000 RPM. Also habe ich den Wert entsprechend der Anleitung angepasst über:


    Code
    1. smc -k F0Mx -w 1f40
    2. smc -k F2Mx -w 1f40


    Das funktioniert auch wunderbar und in TGPro ist dann auch der richtige Wert hinterlegt, und 100% sind dann auch 2000RPM.


    Jetzt komme ich aber zum eigentlichen Problem: Diese Werte sind nach einem Neustart weg. Also dachte ich mir schreibe ich ein kurzes shell script:


    Shell-Script
    1. #!/bin/bash
    2. smc -k F0Mx -w 1f40
    3. smc -k F2Mx -w 1f40


    Dieses habe ich unter /Users/username/scripts/fanminmax.sh gespeichert. Damit es beim Systemstart auch ausgeführt wird, habe ich ein LaunchAgent erstellt:



    Dieses habe als unter /Users/username/Library/LaunchAgents/fanminmax.plist gespeichert. Das Problem ist nun, dass die Werte nach einem Neustart nicht auf die 2000 verändert werden.


    Kann mir jemand helfen das Script beim Systemstart zum Laufen zu bekommen?


    Viele Grüße,
    Steffen

    CPU: i9 10900K - Board: Aours Master Z490 - Grafik: AMD 6800 XT - Sound: External USB DAC WLAN+BT: Broadcom BCM94360CD RAM: 4x16GB DDR4 - Dispay: LG 27GP950 (4k mit 144hz) über Display Port 1.4 + DSC - Bootloader: OpenCore - Installationsanleitung auf GitHub

    3 Mal editiert, zuletzt von steff89 ()

  • Ich kenne mich da nicht aus, schon gar nicht mit der notwendigen Syntax der launchAgents.


    Aber mal ne Frage zur Logik:
    Meinst du Systemstart oder Einloggen des Nutzers?
    Wiederspricht sich RunAtLoad mit dem Speicherplatz im Nutzerordner?
    - wird z.B. das Skript nicht mehr ausgeführt, weil zum Zeitpunkt des Nutzerlogins RunAtLoad gar nicht mehr gilt?
    - sind beim Aufruf des Skriptes, falls es überhaupt soweit kommt, die Nutzerrechte korrekt, also darf der launchdaemon oder wer auch immer das anschiebt, das shellskript ausführen?


    Daraus frage ich mich, ob es einen Log in der Konsole geben könnte.
    Und ob der Agent und das Skript nicht besser auf der Ebene für alle Benutzer/System untergebracht sein sollte.


    Aber wie gesagt, das ist rein aus dem kalten geraten.


    Edit:
    Frage: Wenn auf Nutzerebene, könnte das Skript den Startobjekten hinzugefügt werden?

    BlackCAT: Gigabyte Z97X-UD5H | i7 4790K | 8GB Sapphire Radeon RX 580 Pulse Aktiv | Arbeitsspeicher 32GB | 10.14.6 + OC

    With great power comes great responsibility.

    Einmal editiert, zuletzt von Adnarel ()

  • Ich kenne mich leider damit auch nicht so wirklich aus, das LaunchAgent Skript habe ich mit dem Programm Lingon X erstellt, also gehe ich davon aus das es mit dem Syntax alles passt. Ich habe im Internet viele verschiedene Methoden gefunden ein bash Skript beim Systemstart auszuführen (z.B. cron) aber ich glaube dass der LaunchAgent die eleganteste Methode zu sein scheint.


    Das mit dem Speicherort könnte tatsächlich der Grund sein, werde es mal testen, danke für den Tipp :) Ich habe das Shell Skript mit chmod +x ausführbar gemacht, daran kann es also eigentlich nicht liegen.


    PS: Es lag wohl tatsächlich am Speicherplatz, jetzt läuft das Skript, und wieder einmal etwas gelernt! :) Danke nochmal @Adnarel


    Für alle die das gleiche Problem haben, ich habe es folgendermaßen gelöst:


    1. Skript gespeichert unter /Library/Scripts/UserScripts/fanminmax.sh

    Shell-Script
    1. #!/bin/bash
    2. smc -k F0Mn -w 07d0
    3. smc -k F0Mx -w 2710
    4. smc -k F1Mn -w 0000
    5. smc -k F1Mx -w 1f40
    6. smc -k F2Mn -w 0000
    7. smc -k F2Mx -w 1f40


    2. LauchAgent gespeichert unter /Library/LaunchDaemons/fanminmax.plist

    CPU: i9 10900K - Board: Aours Master Z490 - Grafik: AMD 6800 XT - Sound: External USB DAC WLAN+BT: Broadcom BCM94360CD RAM: 4x16GB DDR4 - Dispay: LG 27GP950 (4k mit 144hz) über Display Port 1.4 + DSC - Bootloader: OpenCore - Installationsanleitung auf GitHub

    Einmal editiert, zuletzt von steff89 ()

  • Die Lüfteransteuerung mit HWMonitor und die vergebenen Werte PWM Steuerung im Bios wirken diese nicht entgegen?

    iMacPro1,1 im PowerMac G5 Wakü ● AsRock Z270 Taichi i7 6700k @4,7GHz ● OpenCore Big Sur & Win10 ● Style/Umbau

    MacBookPro11,1 ● Lenovo IdeaPad Z710 i7 ● OpenCore Big Sur & Win10

    Mac mini M1 16GB/512GB - iPhone 13 Pro Max 256GB

    2 Mal editiert, zuletzt von Schorse ()

  • griven

    Hat das Label Erledigt hinzugefügt