Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Smarthome automatisch starten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    - √ - Smarthome automatisch starten

    Hallo,

    ich möchte smarthome unter Ubuntu automatisch und habe dafür ein Skript /etc/init.d/smarthome angelegt.
    Dabei wird smarthome.py unter root gestartet. Ich möchte aber dass smarthome unter dem User "smarthome" läuft. Hat das schon jemand hinbekommen?

    Hier mein Init-Skript:
    Code:
    #! /bin/sh
    
    #/etc/init.d/smarthome
    # Starts and stops smarthome 
    ### BEGIN INIT INFO
    # Provides:          Was macht das Skript?
    # Required-Start:    
    # Required-Stop:     
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Kurze Beschreibung
    # Description:       Längere Bechreibung
    ### END INIT INFO
    
    NAME=smarthome
     
    PID=/usr/local/smarthome/var/run/$NAME.pid
    DAEMON=/usr/local/smarthome/bin/$NAME.py
     
    # Start smarthome 
    start(){
     echo "Starting Smarthome.py"
     $DAEMON --start
     echo ""
    }
     
    # Stop smarthome 
    stop(){
     echo "Stopping Smarthome.py"
     $DAEMON --stop
    }
     
     
    case "$1" in
    start)
     start
    ;;
    stop)
     stop
    ;;
    restart)
     stop
     sleep 5
     start
    ;;
    *) # Display a usage option.
     echo "Usage: /etc/init.d/smarthome {start|stop|restart}"
     exit 1
    ;;
    esac
    exit 0
    Grüße,
    Michael
    Viele Grüße,
    Michael

    #2
    Hallo Michael,

    ich setze smarthome.py auch auf Ubuntu ein und verwende ein (einfaches) upstart-Skript, um smarthome.py beim booten mit den Rechten des User smarthome zu starten (Ubuntu setzt ja auf upstart statt des klassischen SysVInit):
    Code:
    # /etc/init/smarthome.conf
    start on runlevel [2345]
    stop on runlevel [016]
    
    env home=/usr/local/smarthome
    env log=$home/var/log/start.log
    env uid=smarthome
    env gid=smarthome
    env pidfile=$home/var/run/smarthome.pid
    env daemonargs='--debug --no-daemon'
    env umask=027
    
    setuid smarthome
    setgid smarthome
    
    respawn
    # expect fork
    
    script
    	/usr/local/smarthome/bin/smarthome.py --start $daemonargs
    end script
    Dieses Skript liegt im Verzeichnis /etc/init und ersetzt Dein init-Skript in /etc/init.d.

    Greetinx,
    Udo

    Kommentar


      #3
      Hi Michael,

      ich habe das Script, da ich für das Raspberry Image nehme auf github abgelegt.

      https://github.com/mknx/smarthome/bl...c/smarthome.py

      Dort wird auch der Benutzer smarthome verwendet.

      Bis bald

      Marcus

      Kommentar


        #4
        Da könnte/sollte man dann bei DAEMON den Pfad weglassen, da direkt drüber definiert?

        Ich weiss, ich bin immer der, den die /usr/local Pfade stören
        Derzeit zwischen Kistenauspacken und Garten anlegen.
        Baublog im Profil.

        Kommentar


          #5
          Hi,

          das sind zwei unterschiedliche Pfade.
          Und jeder kann das Script anpassen wie er möchte.

          Bis bald

          Marcus

          Kommentar


            #6
            mea culpa
            Derzeit zwischen Kistenauspacken und Garten anlegen.
            Baublog im Profil.

            Kommentar


              #7
              Hallo,

              ich bin noch nicht ganz zufrieden mit Udos Vorschlag. Ich verwende noch den SysV Init Mechanismus, der unter Ubuntu parallel möglich ist. Dort startet das eibd Skript vor smarthome. Da das eibd Skript komplizierter als das smarthome Skript ist, möchte ich es ungern umschreiben.
              Wie kann ich also sicherstellen, dass das unter SysVInit gestartete eibd Skript vor dem dann unter upstart gestartete smarthome-Skript aufgerufen wird (und beim shutdown natürlich in umgekehrter Reihenfolge)?

              Grüße,
              Michael
              Viele Grüße,
              Michael

              Kommentar


                #8
                Hi Michael,

                deswegen steht bei meinem Script
                Code:
                Should-Start:      eibd owserver
                Bis bald

                Marcus

                Kommentar


                  #9
                  Hallo Marcus,

                  habe jetzt dein Skript aus github im SysVInit-Zweig integriert. Es läuft unter smarthome und auch mit dem eibd zusammen.

                  Als erledigt markiert.

                  Grüße,
                  Michael
                  Viele Grüße,
                  Michael

                  Kommentar


                    #10
                    Benutzer "smarthome"

                    Zitat von mknx Beitrag anzeigen
                    Hi Michael,

                    ich habe das Script, da ich für das Raspberry Image nehme auf github abgelegt.

                    https://github.com/mknx/smarthome/bl...c/smarthome.py

                    Dort wird auch der Benutzer smarthome verwendet.

                    Bis bald

                    Marcus
                    ...und wie lautet denn das Standard-Passwort für den Benutzer smarthome

                    Gruß Claus, der beim login hängen bleibt :-(
                    if you make something idiot-proof, they start making better idiots......
                    KNX:3 Linien,121 Teiln.,Siemens N146 und N350E,RasPi mit SV,8 FBH-Kreise mit Siemens HK-Regler,HS4, Haus ohne öffentl. Wasser-/Stromversorg.,PV-Anlage Wechselrichter:SI5048(8kW, 24 Pufferbatterien 1400Ah),PV-Module mit 7,5kWp

                    Kommentar


                      #11
                      - √ - Smarthome automatisch starten

                      Steht auf: https://github.com/mknx/smarthome/wiki/SmartHome.pi

                      Bis bald

                      Marcus

                      Kommentar


                        #12
                        Hallo Markus,
                        ich versuche mich gerade an einer Installation unter Ubuntu.

                        Zitat von mknx Beitrag anzeigen
                        Hi Michael,
                        ich habe das Script, da ich für das Raspberry Image nehme auf github abgelegt.

                        https://github.com/mknx/smarthome/bl...c/smarthome.py

                        Dort wird auch der Benutzer smarthome verwendet.

                        Bis bald

                        Marcus
                        Github gibt leiden nen 404 raus.
                        Hast du das startscript inzwischen woanders?

                        Grüße
                        Jan

                        Kommentar


                          #13
                          Zitat von dh6 Beitrag anzeigen
                          Github gibt leiden nen 404 raus.
                          Hast du das startscript inzwischen woanders?
                          Hat sich erledigt.
                          Habe es mit dieser Anleitung erfolgreich hinbekommen.

                          Danke.

                          Kommentar


                            #14
                            Hallo,

                            und wo hast du da das init-script gefunden?

                            Gruß,
                            Hendrik

                            Kommentar


                              #15
                              Das hätte mich auch interessiert... ich bin nach der Anleitung mangels Download für das init-skript auch grandios ausgebremst worden... :-(

                              Wäre toll, wenn das wieder auf github zu finden wäre!

                              Viele Grüsse
                              Olaf

                              Kommentar

                              Lädt...
                              X