Freut mich, thoduh, dass es läuft.
Da ich zwischenzeitlich auch die node Version 8.x probiert habe, ist mir aufgefallen, dass, wenn ich das npm install mit sudo ausführe, der Ordner u.A. "/$HOME/Documents/ioBrockerMac/node_modules" den Eigentümer "root" erhält. Damit die Adapter Installationen in der Admin Oberfläche funktionieren habe ich noch den folgenden Befehl hinzugefügt ("$HOME" entspricht "~" das dem Homeverzeichnis des angemeldeten Benutzers entspricht; $USER ist der Kurzname des angemeldeten Benutzers)
sudo chown $USER ~/Documents/ioBrokerMac/node_modules
sudo chown $USER ~/Documents/ioBrokerMac/node_modules/.bin
sudo chown $USER ~/Documents/ioBrokerMac/etc
Noch offen war für mich der Start und das Beenden des/der ioBroker Prozesses bzw. Prozesse.
-
Das Starten mit "nohup … &" ermöglicht das Schliessen des Terminal-Fensters.
-
Das Beenden funktioniert mit "killall.sh", wenn man es ausführbar gemacht hat.
Damit würde ein etwas variablere Befehlsfolge so aussehen:
cd ~/Documents
mkdir ioBrokerMac
cd ~/Documents/ioBrokerMac
sudo npm install https://github.com/ioBroker/ioBroker.js-controller/tarball/master --production --prefix ~/Documents/ioBrokerMac
sudo chown $USER ~/Documents/ioBrokerMac/node_modules
sudo chown $USER ~/Documents/ioBrokerMac/node_modules/.bin
sudo chown $USER ~/Documents/ioBrokerMac/etc
cd ~/Documents/ioBrokerMac/node_modules/iobroker.js-controller
sudo chmod +x iobroker
sudo chmod +x killall.sh
nohup node controller.js &
Dann sollte das Terminal-Fenster anderweitig verwendet werden können.
Das Beenden der ioBroker Prozesse funktioniert dann mit:
~/Documents/ioBrokerMac/node_modules/iobroker.js-controller/killall.sh
Könnte das ein Mac Benutzer mal testen und mir zurückmelden, ob es nicht nur bei mir funktioniert?
Unsicher bin ich mir bei "sudo npm install https://github.com/ioBroker/ioBroker.js … all/master --production --prefix ~/Documents/ioBrokerMac". Ich weiß nicht, ob das npm den Parameter --prefix ~/Documents/ioBrokerMac richtig interpretiert.
Danke,
Gernot
P.S.: Kennt sich einer mit launchd (ist sowas wie init.d von Linux) aus? Es wäre doch schön mit einem solchen "Profil" ioBroker auch ohne Benutzeranmeldung zu starten, oder?
Die Einfachste aller Möglichkeiten des Autostartes über das Benutzeranmeldeobjekt:
Eine Datei ioBrokerMac.sh mit folgendem Inhalt in ~/Documents/ioBrokerMac/node_modules/iobroker.js-controller/ erstellen:
#!/bin/sh
/$HOME/Documents/ioBrokerMac/node_modules/iobroker.js-controller/nohup node controller.js &
und mit````
sudo chmod +x ioBrokerMac.sh
Dieses Script kann dann im Benutzer Anmeldeobjekt hinzugefügt werden.
[3137_benutzer_anmeldeobjekt.png](/assets/uploads/files/3137_benutzer_anmeldeobjekt.png)