Forum: PC-Programmierung python script läuft nur per SSH


von epikao (Gast)


Lesenswert?

Hallo ich blick gleich nicht mehr durch :-((

bis jetzt habe ich meine Python-Programme für den beaglebone immer per 
SSH-Zugriff geschrieben und gestartet. Das läuft immer einwandfrei.
Jetzt wollte ich eines dieser Programme mal über das GUI bzw. eines der 
Konsolen XTerm starten => Files nicht vorhanden :-(

Die Programme sind gemäss SSH vom eclipse alle auf Beaglebone black - 
Sftp files - My Home

wo finde ich diesen Ort per GUI bzw. auf Debian?...

und wenn ich die Files per Eclipse/SSH auf einen Ort kopiere wo ich Sie 
finde, dann funktioniert das Programm nicht wie es sollte, bzw. bleibt 
irgendwo hängen....wieso das..

: Verschoben durch User
von Sven (Gast)


Lesenswert?

Bist du sicher, dass du das Home-Verzeichnis vom richtigen Benutzerkonto 
genutzt hast?
Möglicherweise hast du über ssh/sftp die Dateien in ein Home-Verzeichnis 
von einem anderen Benutzerkonto gespeichert, als das, mit dem du dich 
später am beagelbone angemeldet hast.

Das die Programme nicht starten hat höchstwahrscheinlich auch damit zu 
tun. Möglicherweise lassen die Benutzerrechte einige Datei-oder Hardware 
Zugriffe nicht zu.
Versuche mal die Python-Programme mit root Rechten auszuführen.

von epikao (Gast)


Lesenswert?

Simeon O. schrieb:
> Bist du sicher, dass du das Home-Verzeichnis vom richtigen Benutzerkonto
> genutzt hast?

ich habe gar nie irgendwelche Benutzerkonto errichtet? Ich logge mich 
auch nicht mit irgendeinem speziellen Konto ein, auch nicht bei der 
GUI... verstehe es nicht :-( (zudem habe ich per GUI gar kein Zugriff 
auf den root-Ordner...)

beim ssh, immer mit root passwort rein, und per vi xy.py die scripts 
erstellt und gestartet ...

Simeon O. schrieb:

> Versuche mal die Python-Programme mit root Rechten auszuführen.

d.h: z.b sudo execfile("programm.py") ?

von epikao (Gast)


Lesenswert?

Nachtrag, das ist mein Code, ich habe alle Files auf dem Desktop 
kopiert, und versuche per doppelmausklick, execute zu starten, nichts 
geht :-((((, keine Meldung nichts! per SSH no problem!!:

#!/usr/bin/env python

import Adafruit_BBIO.GPIO as GPIO
import time
import subprocess

GPIO.setup("P9_14", GPIO.IN)
GPIO.setup("P9_12", GPIO.OUT)
GPIO.add_event_detect("P9_14", GPIO.FALLING)

while 1:
        if GPIO.event_detected("P9_14"):
                subprocess.call(['./touch.txt'])
        else:
                time.sleep(0.1)
    subprocess.call(['./xdomouseup.txt'])

von Sven (Gast)


Lesenswert?

Genau das ist dein Problem. Du gehst mit root über ssh rein. Ich kann 
mir kaum vorstellen dass die Desktop-Oberfläche mit root- Rechten 
gestartet wird. Es muss noch einen anderen Benutzer geben.

Versuche doch mal:
sudo python Pfad_zum_Programm.py

von epikao (Gast)


Lesenswert?

> Versuche doch mal:
> sudo python Pfad_zum_Programm.py

ich finde per Terminal den Pfad zum Desktop nicht, wo ich die Files 
abgelegt hätte...
Kann man auch per Doppelklick Execute irgendwie im Root-Modus das ganze 
starten?

von Sven (Gast)


Lesenswert?

Es ist schwer über das Forum grundlegende Linux-Kenntnisse zu 
vermitteln. Zudem reagieren nicht alle Benutzer hier im Forum so 
geduldig wie ich. Deshalb rate ich dir, dass du dir ein Tutorial 
anschaust oder Bekannte fragst.

Auf die schnelle habe ich das gefunden.
https://www.howtoforge.de/anleitung/erste-schritte-der-bedienung-von-linux-per-terminal/

Wahrscheinlich kennt jemand bessere.

Edit: Die Seite wird dir wohl doch nicht viel bringen. Waren halt die 
ersten google- Ergebnisse
Es ist allerdings sehr schwierig im Forum jemandem beim suchen von 
Dateien im Terminal zu helfen, wenn er sich nicht sicher auskennt.

von karadur (Gast)


Lesenswert?

"whoami" sollte klären welcher User verwendet wird.

von qwssxdecf (Gast)


Lesenswert?

Simeon O. schrieb:
> Es ist schwer über das Forum grundlegende Linux-Kenntnisse zu
> vermitteln.

DEN EINEN Grundsatz aber schon.
Es wird niemals irgendwas "Nuetzliches" unter root gemacht, root ist nur 
zur Systemverwaltung da.

(OK, vielleicht 1-mal zum Testen)


qwssxdecf

von Norbert (Gast)


Lesenswert?

GPIO Zeug braucht in der Default Einstellung 'root' Rechte,
der Rest des Programms nicht.

Also entweder das Py-Programm als 'root' laufen lassen (NoNo)
oder die entsprechenden Rechteanpassungen durchführen.
Alles ist dokumentiert...

von qwssxdecf (Gast)


Lesenswert?


von epikao (Gast)


Lesenswert?

vielen Dank noch,
also zusammengefasst:
Files auf Desktop kopiert
Directory gewechselt zu Desktop mit "cd Desktop" und Programm gestartet 
mit "sudo ./programm.py" funktioniert :-) Danke für die Hilfe!

von Rolf Magnus (Gast)


Lesenswert?

epikao schrieb:
> Directory gewechselt zu Desktop mit "cd Desktop" und Programm gestartet
> mit "sudo ./programm.py" funktioniert :-) Danke für die Hilfe!

Das ist aber nicht die Lösung, sondern nur der Work-Around für ein 
noch nicht korrekt konfiguriertes System! Auch solltest du in Zukunft 
nicht als Root auf dem System arbeiten.

von Bernd W. (berndwiebus) Benutzerseite


Lesenswert?

Hallo epikao.

epikao schrieb:
> vielen Dank noch,
> also zusammengefasst:
> Files auf Desktop kopiert
> Directory gewechselt zu Desktop mit "cd Desktop" und Programm gestartet
> mit "sudo ./programm.py" funktioniert :-) Danke für die Hilfe!

Das ist aber erst die Hälfte der Problemlösung.

1) Du weist jetzt, dass Du als User NICHT root bist.
2a) Du weisst, das Dein Skript wo liegt, wo Du nur als root herankommst, 
und
2b) Du brauchst auch root Rechte zum starten.

DU SOLLTEST AUF KEINEN FALL IRGENDETWAS AUSSER VERWALTUNGSTÄTIGKEIT ALS 
ROOT ODER MIT ROOTRECHTEN MACHEN.

Der Test mit sudo (Du arbeitest als "Superuser" (das ist rootähnlich)) 
dient nur dazu, um das abzuklären.

Weiteres vorgehen:

1) Krieg raus, wer Du bist als User.
2) Verschiebe (dazu ist root nötig) das Skript in das home Verzeicnis 
des Users, der Du bist.
3) Teile als Root Dir als User die schreib, lese und Ausführungsrechte 
an dem Skript zu.
4) MELDE DICH ALS ROOT AB!
5) Jetzt sollte das Skript auch von Dir als User an bekanntem 
zugänglichen Platz gefunden und benutzt werden können.

Viel Glück.

Mit freundlichem Gruß: Bernd Wiebus alias dl1eic
http://www.l02.de

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
Noch kein Account? Hier anmelden.