NEWS
[Offen] [Frage] Autostart unter macOS
-
Hallo,
kann mir jemand sagen, wie ich es hinbekomme, dass der iobroker beim Hochfahren des Macs automatisch startet? Das System ist macOS 10.13.3 (High Sierra). Per Terminal kann ich iobroker erfolgreich starten und es läuft alles soweit. Mein Wunschzustand wäre, dass der iobroker gestartet wird, sobald der Mac startet, auch wenn noch niemand eingeloggt ist. Ist das möglich?
Viele Grüße
Jens
-
! tell application "Terminal"
! do script "cd ~/Documents/iobroker/node_modules/iobroker.js-controller/
! node controller.js && git status"
! end telldu muss anpassen mit dein richtige Pfad.
Spreicher diese klein applescript als app und hinzufügen untern anmelde Objekte
-
Danke für die Antwort.
Das setzt voraus, dass ich mich anmelde. Geht es auch irgendwie, dass iobroker startet, sobald der Mac hochfährt, aber sich niemand anmeldet?
Viele Grüße
Jens
-
-
Hallo, vielleicht klappt es so, wie ich es gemacht habe:
Ich habe mir ein Applescript erstellt (siehe Screenshot) und dieses dann also Programm (nur startfähiges Programm) abgespeichert.
Das ganze dann zu den Anmeldeobjekten hinzufügen. Ich habe dem Benutzer Admin allerdings kein Passwort vergeben. Somit ist dann auch kein Anmelden beim Neustart erforderlich und das Skript startet automatisch den ioBroker.
4884_bildschirmfoto_2018-08-07_um_11.23.46.png
4884_bildschirmfoto_2018-08-07_um_11.22.09.png -
@jensa falls noch von Interesse. Ich habe das Problem auf MacOs über einen LaunchDaemon gelöst
/Library/LaunchDaemons/org.iobroker.plist
statt den bei der iobroker bereitgestellten LaunchAgent in ~/Library/LaunchAgent
Folgende Schritte funktionieren bei mir auf einem MacBook Pro 2015
sw_vers ProductName: macOS ProductVersion: 12.7.5 BuildVersion: 21H1222
Bitte unbedingt in der .plist-Datei die eigenen PATH Einstellungen für node etc setzen. Bei mir ist es node@18 und postgresql@13
MacOs iobroker as LaunchDeamon
create a macOS User
sudo dscl . -create /Users/iobroker
sudo dscl . -create /Users/iobroker UserShell /bin/bash
sudo dscl . -create /Users/iobroker RealName "ioBroker Service User"
sudo dscl . -create /Users/iobroker UniqueID "510"
sudo dscl . -create /Users/iobroker PrimaryGroupID 20
sudo dscl . -create /Users/iobroker NFSHomeDirectory /usr/local/iobroker
sudo dscl . -passwd /Users/iobroker <password> # can be empty
permission for the installationsudo chown -R iobroker:staff /usr/local/iobroker
create a system-wide launch daemon
/Library/LaunchDaemons/org.iobroker.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.iobroker</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/iobroker/.nvm/versions/node/v18.20.5/bin/node</string>
<string>/usr/local/iobroker/node_modules/iobroker.js-controller/iobroker.js</string>
<string>restart</string>
</array>
<key>KeepAlive</key>
<false/>
<key>RunAtLoad</key>
<true/>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin::/usr/local/opt/postgresql@13/bin:/usr/local/iobroker/.nvm/versions/node/v18.20.5/bin</string>
</dict>
</dict>
</plist>permissions for the launch daemon
sudo chown root:wheel /Library/LaunchDaemons/org.iobroker.plist
sudo chmod 644 /Library/LaunchDaemons/org.iobroker.plistreload
sudo launchctl unload /Library/LaunchDaemons/org.iobroker.plist
sudo launchctl load /Library/LaunchDaemons/org.iobroker.plist