python script läuft nur per SSH

Gast #4741831
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..
Gast #4741857
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.
Gast #4741880
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") ?
Gast #4741894
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'])
Gast #4741897
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
Gast #4741909
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?
Gast #4741958
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.
Gast #4742023
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...
Gast #4742387
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!
Gast #4742473
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.
Persönliche Seite #4744280
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren