Für einen geübten Linux-User klingt das ziemlich dämlich, für Neulinge ist es nicht so selbstverständlich: Wie bekomme ich den Pfad eines Python-Skriptes heraus, so dass ich ihn für den Autostart in rc.local eintragen kann? Die Daten: - ich bin User "pi" - ich habe auf einem "jungfräulichen" Raspi 2 unter Raspian mit apt-get eine Zip-Datei heruntergeladen und diese mit unzip entpackt, ohne nach dem Einloggen mit SSH das Verzeichnis zu wechseln - dabei ist ein Ordner "led-matrix" entstanden, in dem sich nun auch meine *.py-Datei befindet Wie lang muss der Pfad "Nach Oben" reichen, beginnt er mit "~/" oder nur mit "/" oder gar mit "\"? Soweit ich mit immer wieder "cd .." und "ls" herausgefunden habe, steckt der Ordner "led-matrix" in "home" und nicht etwa in "user", wie ich erwartet hätte. Eine Ebene darüber scheint Schluss zu sein, jedenfalls ändern sich die angezeigten Verzeichnisse nicht mehr, egal wie oft ich "cd .." mache. Aber da ist immer noch das Problem mit der richtigen Schreibweise ... Bitte einen Tip!
/ ist das wurzelverzeichnis, höher gehts nicht. /home ist eine ebene darunter (oder heißt es darüber?) wenn du wissen willst in welchem verzeichnis du jetzt gerade bist, hilft dir das kommando:
1 | pwd |
mit
1 | cd / |
landest du im wurzelverzeichnis, also ganz oben. mit
1 | cd ~ |
landest du im homeverzeichnis des users
Frank E. schrieb: > Wie lang muss der Pfad "Nach Oben" reichen, beginnt er mit "~/" oder nur > mit "/" oder gar mit "\"? "\" ist das Escape-Zeichen. Das hat in Pfaden nichts zu suchen. Wenn du es in einem Startup-Skript verwenden willst, nimm absolute Pfade. Also beginnend mit "/". "~/" wird nicht funktionieren, da es sich auf das Home-Verzeichnis des aktuellen Benutzers bezieht. Das Startup-Skript wird aber über einen anderen Benutzer ausgeführt. > Soweit ich mit immer wieder "cd .." und "ls" herausgefunden habe, steckt > der Ordner "led-matrix" in "home" und nicht etwa in "user", wie ich > erwartet hätte. Warum? Die Home-Verzeichnisse sind immer in /home ;-) > Aber da ist immer noch das Problem mit der richtigen Schreibweise ... > Bitte einen Tip! Mach einfach ein
1 | realpath <dein_script> |
und verwende das, was dort ausgegeben wird.
Frank E. schrieb: > Für einen geübten Linux-User klingt das ziemlich dämlich, für Neulinge > ist es nicht so selbstverständlich: Wie bekomme ich den Pfad eines > Python-Skriptes heraus, so dass ich ihn für den Autostart in rc.local > eintragen kann? Solche Skripte gehören per Konvention nicht irgendwo hin, sondern unter "/usr/local/bin/", die Konfigurationsdatei unter "/usr/local/etc/", usw. > - ich habe auf einem "jungfräulichen" Raspi 2 unter Raspian mit apt-get > eine Zip-Datei heruntergeladen und diese mit unzip entpackt, ohne nach > dem Einloggen mit SSH das Verzeichnis zu wechseln Mit "apt-get" eine Zip-Datei herunterladen? Wie das? Apt-get ist ein Teil des Paketmanagers und installiert Software, die im Debian-Paketformat .deb daherkommt. > - dabei ist ein Ordner "led-matrix" entstanden, in dem sich nun auch > meine *.py-Datei befindet > > Wie lang muss der Pfad "Nach Oben" reichen, beginnt er mit "~/" oder nur > mit "/" oder gar mit "\"? > > Soweit ich mit immer wieder "cd .." und "ls" herausgefunden habe, steckt > der Ordner "led-matrix" in "home" und nicht etwa in "user", wie ich > erwartet hätte. Eine Ebene darüber scheint Schluss zu sein, jedenfalls > ändern sich die angezeigten Verzeichnisse nicht mehr, egal wie oft ich > "cd .." mache. Aber da ist immer noch das Problem mit der richtigen > Schreibweise ... Bitte einen Tip! Wenn Du per SSH eingeloggt bist, gib einmal "cd" (ohne Parameter) ein. Dann befindest Du Dich in Deinem Home-Verzeichnis, bei einem RasPi mit dem Benutzer "pi" ist das standardmäßig das Verzeichnis "/home/pi". Dann gib dort je einmal "ls -l" und "ls -l .." ein. Wenn Dein Verzeichis "led-matrix" beim ersten "ls -l" erscheint, befindet es sich in Deinem Homeverzeichnis "/home/pi/", der komplette Pfad wäre dann also "/home/pi/led-matrix/". Wenn Dein Verzeichnis beim zweiten "ls -l .." erscheint, befindet es sich unter "/home/led-matrix/", da ".." in Linux-Pfadangaben (genauso wie unter Windows) für das übergeordnete Verzeichnis steht. Selbst wenn Du das Programm nicht unter "/usr/local/*/" installieren willst: nach "/home/" gehört es jedenfalls definitiv nicht, und Du solltest es dann wenigstens in Dein Homedirectory verschieben: "mv /home/led-matrix /home/pi".
Ein Python Script in den bin Ordner? Wieso das?
Also Leute, es (der Autostart des Python-Skriptes) funktioniert! Man trägt in rc.local das Startkommando ein. Für alle die, die das noch nicht gemacht haben und sich dafür interessieren, es geht so: 1. Mit "sudo nano /etc/rc.local" den Editor Nano öffnen 2. als vorletzte Zeile (letzte Zeile sollte "exit 0" sein) eintragen: "sudo python /home/pi/myfolder/myprog.py" Den Pfad habe ich, als ich mich im gleichen Verzeichnis wie myprog.py "aufhielt" per "pwd myprog.py" korrekt angezeigt bekommen. 3. mit CTRL+O speichern und mit CTRL-X den Editor beenden. Im Mac-Terminal funktioniert bei mir CTRL-O nicht, wahrscheinlich wird diese Funktion vom Mac OS X verwendet. Dann einfach nur CTRL-X eingeben und die Frage des Editors ob gespeichert werden soll mit "J" beantworten ... Danke für alle Tips!
:
Bearbeitet durch User
Frank E. schrieb: > "sudo python /home/pi/myfolder/myprog.py" Das sudo kannst Du Dir sparen. rc.local wird immer mit der User-ID root ausgeführt.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.