GUI in C mit sudo starten

  • Hallo,


    Ich habe ne LED an meinem Pi angeschlossen und kann die auch mittels <wiringPi.h> steuern, also an und aus schalten.


    Nun habe ich mir gedacht das ich das ganze über ne GUI an & ausschalten möchte.
    Sprich einen Button für an und einen für aus.


    Eine GUI, mit den entsprechenden Buttons, zu bauen ist kein Problem. Genauso wenig das Ansteuern der GPIOs in C.


    Allerdings ist das Problem, dass man zum benutzen der GPIOs sudo rechte braucht. Ich kann aber die GUI nicht mit sudo rechten starten.


    Es kommt immer

    Code
    cannot open display: localhost:10.0


    Weiß da jemand einen Rat?

  • Hi swoopo,


    sorry, aber die Info ist leider ein wenig mager.
    Was verstehst Du unter "GUI"? Hast Du dem Schaltprogramm eine grafische Oberfläche verpasst?
    Dann wirst Du es ja auch aufrufen müssen, oder? Also kannst Du doch vor den Aufruf ein sudo setzen, oder nicht?
    Die Fehlermeldung "cannot open display" hat damit nix zu tun.
    Da Du eine grafische Oberfläche hast, läuft das Programm natürlich auch nur in einer entsprechenden Umgebung. Einfachster Weg: wechsle mal zum Desktop und rufe da das Programm in einem Terminal auf.


    cu,
    -ds-


  • Was verstehst Du unter "GUI"? Hast Du dem Schaltprogramm eine grafische Oberfläche verpasst?


    Genau, ein einfache Fenster mit 2 Buttons.



    Dann wirst Du es ja auch aufrufen müssen, oder? Also kannst Du doch vor den Aufruf ein sudo setzen, oder nicht?


    Nein das geht leider nicht. das sudo funktioniert nur wenn ich keine Grafische Oberfläche habe.



    ... wechsle mal zum Desktop und rufe da das Programm in einem Terminal auf.


    selbes ergebniss
    [Blocked Image: http://s1.directupload.net/images/140622/zfkfjzlr.png]

  • Hallo Swoopo,


    gehe doch mal in Deiner IDE in das Menü "Erstellen". Dort sollte es einen Menüpunkt "Kommandos zum Erstellen konfigurieren" oder etwas Ähnliches geben.


    Dann öffnet sich ein Fenster. Einer der Einträge lautet Ausführen. Dort gibst Du vor dem Eintrag ein


    Code
    sudo


    gefolgt von dem, was da bereits steht. Dann auf OK klicken und nochmals probieren.


    Dann sollte es eigentlich funktionieren.


    Gutes Gelingen!


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Edited once, last by Andreas ().

  • so habe es nun geschafft es zu Öffnen und zwar mit dem befehl "gksudo ./main"


    Allerdings ist das etwas blöd, weil so muss ich das immer übers Terminal starten und mann kann es nicht als "normaler" Benutzer starten

  • Und wieder einmal ein Fall in dem (gk)sudo der falsche Weg ist. Verschaffe deinem Benutzer die nötigen Gruppen und schwupps hast du kein Problem mehr.