Statusabfrage: Homebridge mit root-Rechten

  • Hallo Leute,


    bestimmt wurde das hier schon mehrfach gefragt/ geklärt, aber ich finde nichts via Suchfunktion.


    Wollte mir einen Dashbutton zulegen und im Vorfeld überprüfen, ob meine Homebridge mit root-Rechten ausgeführt wird. Wie kann ich das via Terminal abfragen?


    Gruß

    pauabaer

  • Du willst die Prozessliste sehen:


    ps aux | grep homebridge (das ist ein gerader Strich zwischen dem x und dem g. Auf einem Mac wird der mit Alt 7 erzeugt)


    Das ergibt bei mir diese Ausgabe:


    Code
    pi@raspberrypi:~ $ ps aux | grep homebridge
    homebri+  6277  2.0  9.5 191444 90312 ?        Ssl  10:26   6:38 homebridge
    homebri+  6308  0.0  5.1 159544 49256 ?        Sl   10:26   0:06 homebridge-config-ui-x
    pi       23717  0.0  0.0   5996   572 pts/0    S+   15:53   0:00 grep --color=auto homebridge
    pi@raspberrypi:~ $


    Ganz links steht der User, mit dem das Programm homebridge (steht ganz rechts) ausgeführt wird. Bei mir ist das homebri+. Außerdem wird von diesem User noch das Programm homebridge-config-ui-x ausgeführt. Da ich die Prozessliste als User pi aufgerufen habe, steht als drittes dort das der Prozess grep läuft, aufgerufen vom User pi.


    Läuft deine Homebridge mit root-Rechten, so steht dort links root anstatt homebri+. Läuft sie unter dem User erwin, steht dort erwin.


    Stefan

  • Besten Dank euch beiden. So weiß ich jetzt, dass bei mir die Homebridge als user Pi läuft.


    Hab gelesen, dass man die HB als root laufen lassen muss, damit man das Amazon Dash Plugin richtig nutzen kann, da nur als root der Netzwerkverkehr mitgeschnitten werden kann.


    Gibt es ein how-to wie ich den Wechsel vornehmen kann?

  • Wie startest du deine Homebridge? Und wo hast du das gelesen?

  • Nichtmal: wie startest du deine Homebridge? Sowas wie

    sudo /etc/init.d/homebridge start oder eher sowas wie

    sudo systemctl start homebridge?


    Stefan

  • soll ich euch ehrlich sagen, dass ich es nicht genau weiß..


    ich meine mit ersterem. die Datei sieht wie folgt aus:


    Hoffe das ist die richtige Datei!?

  • soll ich euch ehrlich sagen, dass ich es nicht genau weiß..


    ich meine mit ersterem. die Datei sieht wie folgt aus:


    Code
    else
            su - pi -c "homebridge > /dev/null 2>&1 &"
            echo "Homebridge starting"
            $0 status


    Falls diese Datei zum Start von homebridge verwendet wird, was absolut der Fall sein könnte, aber nicht gänzlich sicher ist, dann steht da oben:


    Switche zu User pi und lade seine Einstellungen (su - pi), führe das Kommando homebridge aus (-c homebridge), lasse alle weiteren Meldungen stillschweigend verschwinden (> /dev/null 2>&1) und mach das im Hintergrund (&).


    Na, dann rate ich mal. Ergänze die ganze Geschichte, bis sie so aussieht:

    Code
    else
            # su - pi -c "homebridge > /dev/null 2>&1 &"
            su - root -c "homebridge -U /home/pi/.homebridge> /dev/null 2>&1 &"
            echo "Homebridge starting"
            $0 status

    Schön ist das nicht. Um es in einfachen Worten zu sagen. Es ist sogar ziemlich hässlich. Meine Kollegen in der Firma würden mich dafür an ein grobes Kreuz nageln. Aber ich schätze mal: das funktioniert. Und wir können das demnächst auch schöner machen.


    Restarte dann die Homebridge:

    sudo /etc/init.d/homebridge restart

    Hoffe das ist die richtige Datei!?

    Das hängt davon ab, wie du homebridge startest. Daher frage ich ja so verzweifelt danach. Bitte ankreuzen:

    [ ] Ich gebe /etc/init.d/homebridge start oder /etc/init.d/homebridge restart ein

    [ ] Ich gebe sudo systemctl start homebridge oder sudo systemctl restart homebridge ein

    [ ] Ich trenne den Raspi kurzzeitig vom Strom.

    [ ] Ich mach was völlig anderes und zwar: ______________________________________

    [ ] Ich starte meine Homebridge nie.


    Stefan

  • Um erhlich zu sein, starte ich die HB tatsächlich kaum bis nie. Wenn ich ein neues plugin implentiert habe, starte ich den Pi via sudo reboot neu. Habe seinerzeit den Autostart eingestellt.


    Bin aber ziemlich sicher, dass ich Punkt eins ankreuzen müsste :D

  • Ich habe deine Anpassung in der Startdatei vorgenommen, den Pi neu gestartet und die Homebridge läuft wie sie soll.


    Jetzt wollte ich mal den dashbutton installieren, bekomme aber folgende Fehelermeldungen. npm ist aktuell.


    Code
    pi@SmartPi:~ $ sudo npm install -g homebridge-dash
    npm ERR! code 128
    npm ERR! Command failed: /usr/bin/git submodule update -q --init --recursive
    npm ERR! fatal: Could not change back to '/root/.npm/_cacache/tmp/git-clone-cf0c8df1': Keine Berechtigung
    npm ERR!
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /root/.npm/_logs/2018-11-12T21_06_16_868Z-debug.log

    Keine Berechitigung? Liegt das am Plugin oder an der zuvor vorgenommenen Anpassung in der Startdatei?


    Im Log steht folgendes:

    Code
    23 silly fetchPackageMetaData error for pcap@git+https://github.com/mranney/node_pcap.git Co$
    23 silly fetchPackageMetaData fatal: Could not change back to '/root/.npm/_cacache/tmp/git-c$
  • Versuchs mal so:


    sudo -i

    npm install -g --unsafe-perm homebridge-dash

    exit


    Stefan

  • Hm.. folgende Meldung

    Folgende Meldung aus dem log:

    EDIT:

    Hab mal ein sudo vor das npm install gesetzt. Siehe da, es konnte installiert werden. Soweit vielen Dank sschuste!

    Einmal editiert, zuletzt von pauabaer ()

  • Hab mal ein sudo vor das npm install gesetzt. Siehe da, es konnte installiert werden.

    Was ein völliger Quatsch ist, denn du bist ja schon root, und der braucht kein sudo. Aber wenn's so funktioniert, bin ich der letzte, der da herummaulen wird :D


    Stefan