Wie kann ich ein Programm per Autostart laufen lassen?

  • Es gibt derzeit ca. 40 verschiedene Betriebssysteme für den Pi

    https://www.elektronikpraxis.vogel.de/40-betriebssysteme-fuer-den-raspberry-pi-a-488934/

    In den Debian Varianten wird aktuell eine Datei mit der Endung .desktop aus dem autostart-Verzeichnis des Users auch automatisch gestartet, sofern Du nicht in den systemd und /etc Dateien herumgehackt hast.

    Und welches der 40 Distributionen Du verwendest, weisst nur Du, jedenfalls hast Du uns das nie gesagt.


    Servus !

    RTFM = Read The Factory Manual, oder so

    Einmal editiert, zuletzt von RTFM (17. Juli 2018 um 21:18)

  • Wie kann ich ein Programm per Autostart laufen lassen?? Schau mal ob du hier fündig wirst!

  • Und welches der 40 Distributionen Du verwendest, weisst nur Du, jedenfalls hast Du uns das nie gesagt.

    Ist eigentlich anhand der Screenshots - eher am grauenhaften PIXEL - erkennbar ...

    Raspbian (ob Jessie oder Stretch ist irrelevant).

    In den Debian Varianten wird aktuell eine Datei mit der Endung .desktop aus dem autostart-Verzeichnis des Users auch automatisch gestartet, sofern Du nicht in den systemd und /etc Dateien herumgehackt hast.

    Wie sieht's eigentlich mit den sonstigen "Autostart"-Einträgen aus - wie bspw. hier oder auch hier beschrieben?

    Ob ausführbare Dateien als Binaries oder Skript sollte ja dahingehend unwichtig sein, oder? :sleeping:

    Mal abgesehen davon kann man auch einfach ein Skript erstellen, was ausgeführt wird, welches als Befehl einfach den Aufruf der Binary enthält...

    Diese "*.desktop-Dateien" im Autostartverzeichnis: da habe ich auch bislang nicht wirklich was von gelesen oder gehört :D

    _____________________________________________________________________

    Zottel386 - bezüglich der Bezeichnung "Binary": https://de.wikipedia.org/wiki/Bin%C3%A4rdatei

    Mir ist durchaus bewusst, dass du dich nicht (mehr) mit dem Thema hierüber befassen magst, was ich nachvollziehen kann. Ja ja, die andere Seite auch, bla bla.

    Allerdings sollte man, wenn man schon Hilfe anbietet, vom DAU ausgehen (nicht explizit auf dich bezogen, Zottel), was viele einfach vergessen.

    Wie gesagt ich bin Laie und brauche es Schritt für Schritt erklärt.

    und Nein es hat mir niemand erklärt wie ich es ausführbar mache.

    Klar, sowas kannst du ganz einfach googeln ... ansonsten führst du chmod +x DATEINAME auf die Datei mit dem Namen DATEINAME aus, die du ausführbar machen möchtest.

    Mittels ls -la (ls - Wiki) kannst du dann sehen, ob bei deiner Datei 'x'e gesetzt sind.

    _______________________________________________________________________

    Ich habe mir zwar den ganzen Thread durchgelesen, kann aber sein, dass ich nicht auf alle Fragen eingegangen bin, was auch unter Umständen sowieso nicht notwendig gewesen wäre.

    Einmal editiert, zuletzt von Psychosadistic (17. Juli 2018 um 23:21)

  • Wie sieht's eigentlich mit den sonstigen "Autostart"-Einträgen aus - wie bspw. hier oder auch hier beschrieben?

    Diese "*.desktop-Dateien" im Autostartverzeichnis: da habe ich auch bislang nicht wirklich was von gelesen oder gehört :D

    Die Links sind aus dem Jahre 2014 und betreffen sysV (V=römische Zahl für 5), erkennbar an den Runleveln.

    Aktuell ist systemd, das d als D gemeint (D=römische Zahl für 500), siehe < apropos systemd >, erkennbar am unsterblichen PID 1 "systemd" der über 12 Units und vernetzen Controll Groups das Gesamtsystem bootet und steuert.

    In beiden Fällen können als letzter Bootprozess Programme aus /etc/rc.local aufgerufen werden, im Regelfall sind das "nicht interaktive" (System-)Programme, die im Hintergrund laufen. Wenn Du damit ein Grafikprogramm startest, kommt die Fehlermeldung "Display not found", weil ein Grafikprogramm nur mit einem X-Server als Eingabe/Ausgabe Gerät funktioniert. Das Grafiksystem wird erst nach einem Login für den angemeldeten User vollständig gereriert, und dabei die Autostarteinrichtung des Users abgegrast.

    Servus !

    RTFM = Read The Factory Manual, oder so

  • das d als D gemeint (D=römische Zahl für 500), siehe < apropos systemd >

    Interessant!

    Wenn Du damit ein Grafikprogramm startest, kommt die Fehlermeldung "Display not found", weil ein Grafikprogramm nur mit einem X-Server als Eingabe/Ausgabe Gerät funktioniert.

    Nicht zwingend: Es kann auch direkt in den Framebuffer geschrieben werden. PyGame (basiert auf SDL) und AFAIK auch Kivy können das z.B. OOTB, brauchen also keinen X-Server.

    Ich weiß, ich sag' das immer wieder, aber so ist es eben... ;)

  • Sehr schön, vor allem der Hello-Kitty-Becher! :lol:

    Hast Du eine Sensorik, so daß die Roboter merken, ob es etwas abzuholen gibt?

    Hast du mal eine Übergabe in der Luft versucht? Könnte evtl. etwas Zeit sparen.

  • Nabend

    Jeder andere Becher ginge auch, ich fand Hello Kitty sehr schön.:)

    Eine Sensorik habe ich nicht, da auf dem Board der Servos nur Platz für 12 Dinge ist. Sprich: Sensoren, LED's, Taster oder Schalter, Servos oder sonstwas. Diese sind alle durch die Servos belegt. Daher nein. Selbst wenn gäbe es da noch ein Stromproblem. Bei 10 gleichzeitig laufenden Servos fangen sie das zittern an. Da eine Servo ca 500mA an Strom aufnimmt sind das bei 12 Servos gleich mal 6 Ampere. Nicht viele Netzteile liefern dieses. Es gibt Boards mit 24, 48, und 72 Anschlüssen für Servos und div anderen Sachen, jedoch was die dann an Strom aufnehmen ....

    Eine Übergabe in der Luft wäre kein Problem....(wie schön wäre es ohne wenn...)

    Erstens sind die Servos durch 5V Netzteil schon gedrosselt. (max 7,2 V könnte ich drauf jagen)

    Zweitens nochmal gedrosselt durchs Board, weil Spielzeugservos sind, die ohne Sensorik im Inneren mit einem Poti arbeiten, was schon ungenau genug ist.

    Die Übergabe in der Luft muss daher gut eingestellt werden. Zeitlich würde ich nichts sparen. Einer der Arme muss ja schon still stehen der zweite sich nähern. Ist aber machbar.

  • Hallo User

    Kurze Zwischenfrage.

    Wenn ich eine Datei erstellt habe, diese auch schon läuft wie sie soll, und ich diese Gängig gemacht habe, danach nochmal bearbeite, muss ich diese dann immer wieder nach dem Bearbeiten gängig machen oder bleibt diese dann so?

    Danke im Vorraus.

  • Also,

    ich hatte mir ein Projekt rausgesucht von http://www.sachsendreier.com/rsw/projekte/g…lauflicht_c.php dieser Webseite.

    Ein Lauflicht gebaut und an die jeweiligen GPIO-Pins gestöpselt. das Programm dazu für meine Bedürfnisse angepasst und die Datei "Blinkprogramm" danach mit der Zeile "gcc -o blinkprogramm blinkquelltext.c -lwiringPi" gängig gemacht (ausführbar).

    Da ich immer wieder neue Muster zum Aufblinken der LEDs reinschreibe, möchte ich gerne wissen ob die bearbeitete Datei, nach dem bearbeiten immer noch Ausführbar bleibt, oder ob ich immer wieder diese Ausführbar machen muss.

    Danke

  • ahh gängig gemacht = ausführbar

    Die Frage kannst du dir auch selbst ganz einfach beantworten.

    Sieh dir mit ls -l (ausgeführt im entsprechenden Verzeichnis) die Berichtigungen vor und nach dem Bearbeiten an. Dann beantwortet sich die Frage von selbst. Informationen zu den Berechtigungen

  • Hi Zottel386 ,

    danach mit der Zeile "gcc -o blinkprogramm blinkquelltext.c -lwiringPi" gängig gemacht (ausführbar).

    nein ... die hast Du nicht ausführbar gemacht ( das macht man z.B. mit chmod ) sondern Du hast den C-Quelltext mit dem Compiler gcc in ein, für den Prozessor verständliches, Format übersetzt (compiliert) -> http://openbook.rheinwerk-verlag.de/linux/linux_ka…42-e01540ff812d

    Und ja ... das musst Du deshalb auch nach jeder Änderung des Quelltextes machen ...

    Oder Du änderst das Programm so, dass Du über Aufruf-Optionen das Verhalten des Programms entsprechend änderst.

    Das ist aber ein anderes Thema.

    cu,

    -ds-

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!