wenn die homebridge als Dienst läuft:
wenn es kein Dienst ist
Sorry, det, dass ich hier mal so reingrätschen muss, aber homebridge läuft immer als Dienst (oder service). Alles was einen Port aufmacht und darauf lauscht, ist ein Dienst. Da ist es völlig egal, wie homebridge gestartet wird.
Aber warum gibt es diese unterschiedlich Starterei?
Ganz früher, so bis Anfang der 90er, schrieb man unter Unix eine riesengroße lange Datei, und da stand drin, was beim Booten alles noch gestartet werden sollte: Netzwerksoftware, Mailserver und all so ein Zeug. Das erwies sich nach einer Weile als ziemlich blöde, denn man wollte gern die Prozesse, die man beim Booten mitgestartet hatte, auch bequem stoppen oder restarten können.
Da kam System V mit dem init-Startprozess um die Ecke. Die große Startdatei wurde zerlegt in viele kleine, für jedes Programm, dass bei Booten dabei sein sollte, eine. Diese Dateien liegen in /etc/init.d und werden mit sudo /etc/init.d/irgendwas start gestartet und mit sudo /etc/init.d/irgendwas stop gestoppt. Dabei ist es jedem Admin selber überlassen, wie so ein Startskript aussieht. Manchmal sind solche Skripte sehr spartanisch und manchmal sehr üppig. Allein für homebridge findet man die unterschiedlichsten Startskripte im Netz. Standard bedeutet hier: eine gewisse Ähnlichkeit mit anderen Dingen.
Beim Booten sorgt der init-Prozess für das automatische Starten, indem er diese Skripte mit dem Parameter start aufruft. Beim Herunterfahren des Rechners ruft er sie mit dem Parameter stop auf.
In den 2000ern wurde dann der systemd entwickelt, und eine Aufgabe von dem Ding ist das Starten der Prozesse beim Booten. Dazu braucht man Konfigurationsdateien, die sehr standardisiert sind, und die liegen in /etc/systemd/system. Gestartet wird ein Prozess mit sudo systemctl start irgendwas und gestoppt wird er mit sudo systemctl stop irgendwas.
Beim Booten sorgt nun nicht mehr der init-Prozess für das automatische Starten, sondern der systemd grast seine Konfigurationsdateien ab und startet alles und beim Herunterfahren der Rechners stoppt er sie wieder.
Das ist alles für das Booten da. Entweder bootet man mit dem init-Prozess oder mit dem systemd. Heute ist letzterer Standard, was aber niemanden davon abhält, trotzdem die alten Startskripte zu betreiben. Daher verwenden manche Leute sudo /etc/init.d/homebridge start (oder stop) und andere sudo systemctl start homebridge (oder stop). Das Ergebnis ist das gleiche: Homebridge wird als Dienst gestartet.
Wer die Homebridge mit der Homebridge-App installiert, der bekommt ein altes Startskript (/etc/init.d/homebridge). Wer die Forenanleitung verwendet, bekommt eine systemd-Konfigurationsdatei. Wer nicht weiß, was er nun hat, der macht es so, wie Det es oben vorschlägt: ausprobieren.
Stefan