Du machst nichts falsch. Du willst es so 
Wenn du dich mit PuTTY mit dem Raspi verbindest und dich einloggst, dann wird eine sogenannte Shell gestartet. Die Shell führt Kommandos aus, die du eingibst. Auch wenn es so aussieht, dass du die Homebridge startest, indem du das Kommando homebridge eingibst, ist es die Shell, die das Kommando ausführt und es ist auch die Shell, die die Homebridge startest. Du dagegen bist nur einer, der tippen kann, mit hoher Befriedigung die Entertaste drückt und danach zusieht, wie die Dinge ihren Laufen nehmen.
Der Prozess homebridge ist ein Tochterprozess der Shell und er läuft so lange, wie diese Shell läuft. Beendest du die Shell, dann killst du den Prozess homebridge. Schließt du das PuTTY-Fenster, dann beendest du die Shell.
Das gleiche gilt für die VMware-Konsole (falls man die überhaupt schließen kann). Es gilt auch für jedes andere Terminalprogramm und für jedes andere Betriebssystem. So ist der Lauf der Dinge und so sollen sie sein.
Du kennst eine andere Shell: Windows. Alle Windows-Programme brauchen Windows. Killst du Windows, werden alle Programme, die Windows gestartet hat, indem du es mit Doppelklick dazu angeleitet hast, beendet.
Da es den Administratoren in großen Rechenzentren zu doof ist, für jeden Prozess ein eigenes Fenster offen zu halten und morgens die offenen Fenster zu zählen, ob noch alle da sind, starten sie Prozesse im Hintergrund. Und da es ihnen gleichzeitig zu mühsam ist, nach dem Reboot einer Maschine ein Fenster zu öffnen und dort nohup homebridge & einzugeben, verwenden sie ein sogenanntes Startskript, um einen Prozess zu starten und das vor allem automatisch bei Systemstart. Heutzutage wird das mit einem Dienstprogramm namens systemd gemacht.
Ich kann nur empfehlen, das ebenfalls so zu machen. Auf die Schnelle:
Öffne die Datei /etc/systemd/system/homebridge.service mit dem Editor nano.
sudo nano /etc/systemd/system/homebridge.service
Da die Datei aller Wahrscheinlichkeit noch nicht existiert, ist der Editor leer. Dort schreibst du jetzt rein:
[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=marco
ExecStart=/usr/local/bin/homebridge -U /home/marco/.homebridge
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Alles anzeigen
Dann speicherst du die Datei, indem du strg-x und dann y und dann die Entertaste drückst.
Damit ist dein Startskript erstellt. Dann bringst du es dem System bei:
sudo systemctl daemon-reload
sudo systemctl enable homebridge
Dann startest du deine Homebridge mit
sudo systemctl start homebridge
Und siehst dir das Logfile an mit
sudo journalctl -fau homebridge (Abbruch mit strg-c)
Alle Angaben hier ohne Gewähr, da mein Setup ein völlig anderes ist. Ich habs jetzt hier mal so runtergeschrieben in der Hoffnung, dass das gleich bei dir funktioniert. Wie immer würd's mich wundern
Falls es funktioniert, wird die Homebridge auch gleich automatisch beim Booten deiner VM mitgestartet.
Wenn's nicht klappt, bitte hier beschweren und Fehlermeldungen dazu posten.
Gruß,
Stefan