GUI aus Terminal starten?

  • Hallo ihr

    bin ganz neu hier - also bitte nicht schlagen ;)

    ich arbeite derzeit an nem "kleinen" projekt und möchte dafür eine selbstgestaltete oberfläche direkt aus der komando zeile starten. das ganze funktioniert allerdings nur wenn ich raspian gestartet habe und dann aus dem LXT starte. das soll so aber nicht sein.

    ich möchte dass wenn ich den raspberry anmache - terminal öffnet sich - sudo ./programm.py - meine gui öffnet sich und kann angeklickt werden

    leider spuckt er mir: "unable to acess the X display, is $Display set properly?" aus

    ich werd gleich nochmal schaun ob ich noch irgendwas finde was mir weiter hilft, suche allerdings schon seit ner halben stunde ^^

    vielen dank soweit

    grüße

  • Such mal hier im Forum nach Export Display.
    Da war mal was, die Umgebungsvariable DISPLAY muß gesetzt werden.
    Ich kann mich nur nicht mehr erinnern in welchem Zusammenhang.

    Alters Demenz denke ich.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Damit das GUI angezeigt werden kann, muß X11 laufen.

    Am besten kontrollierst Du den Start von X selbst und schaust, daß lightdm nicht läuft bzw. keine Session auf dem "Default-Seat" also dem lokalen Display startet.

    Für erste Experimente reicht es, lightdm per "sudo service lightdm stop" anzuhalten.

    Dann kannst Du in Deinem Skript "startx " aufrufen und danach Dein GUI.

    Evtl. mußt Du nach dem Aufruf von startx die Environmentvariable DISPLAY noch auf ":0.0" setzen, damit das GUI weiß, welches X11-Display es verwenden soll.

    Mit raspiconfig kannst Du das gesamte System auch so konfigurieren, daß für einen User direkt bis nach X11 durchgebootet wird - ohne Login. Sicher ist das natürlich nicht.

  • Um was für eine GUI handelt es sich denn? Also was benutzt du in dem Python Script? Zum Beispiel TKinter oder pygame?

    Und es soll auf dem an den PI angeschlossenen HDMI Display angezeigt werden, oder bei demjenigen der sich über SSH verbindet?

  • erstmal GANZ vielen dank für die antworten^^

    der plan sieht wie folgt aus: (leute die mein projekt nicht interessiert brauchen das hier nicht lesen)

    ich habe an meinen pi ein 8 kanal relais angeschlossen - funksteckdosen - kabel an mienen TV gelötet (keine sorge ich weiß was ich tue) usw. die idee ist ein autark handelndes studenten zimmer - stundenplan wird ausm kalender geladen - wenn ich aufwache ist mein stundenplan aufm Tv - licht geht an - kaffee fertig - und alles schaltet aus wenn ich die wohnung verlasse (ist mit Bluetooth ping geplant...)

    DAS ganze ist noch in der entstehungsphase aber macht spaß ^^

    - hier gehts weiter:

    zu dem gui was ich starten will: dabei handelt es sich eigentlich nur um ein Python skript das mit wxpython n paar buttons anzeigt. nix großes - soll einfach nur ne möglichkeit sein WÄHREND des programms (siehe oben) das licht einfach auszuschalten oder sowas.
    ich will nur nicht dass raspian hochfährt (startx befehl) weil das nur unnötig lange dauert und ich die programme da eh nicht brauche.

    so wie ich das verstanden habe muss ein - nennen wir es container geladen werden in dem die grafischen bestandteile liegen damit die GUI angezeigt werden kann? (x11 ?)

    der soll also nichts anderes machen als:

    IM TERMINAL:
    sudo skript.py
    ----------------------------------------------------------------
    import wx
    import webbrowser
    import RPi.GPIO as GPIO
    import time
    -> programm mit angezeigten buttons (gui)
    ----------------------------------------------------------------

    danke für die hilfe ^^

Jetzt mitmachen!

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