X11 Abhängigkeit, kompiliere Dbus ohne X11, starte nur Shell C ++ Anwendungen Raspbian Linux

8

Hallo liebe SO Community:)

Ich versuche, DBus auf meinem Raspberry Pi laufen zu lassen. Der Beispielcode von libdbus-c ++ - 1 funktioniert einwandfrei, wenn ich mich in der Pi Desktop-Umgebung befinde - & gt; (startx)

Meine Recherchen im Internet und die Beispiele, die ich auf stackoverflow gefunden habe, haben mir nicht geholfen: [.

Wenn ich jedoch im Shell-Modus bin, erhalte ich die Fehlermeldung

%Vor%

Ich habe es auch versucht

%Vor%

Aber es funktioniert nicht, die Server-App startet einen Nachrichten-Daemon, aber sie ist vom Client aus nicht erreichbar. Auch der Daemon bleibt aktiv.

Ich habe:

%Vor%

es wird auch nicht in der Liste angezeigt.

danach habe ich einen anderen Befehl versucht

%Vor%

und ich habe:

%Vor%

:( Nachdem das auch nicht funktioniert habe, habe ich einen Weg gefunden den dbus ohne den X11 Code zu kompilieren mit

%Vor%

leider hat es keinen Effekt. Immer noch X11, um meine Anwendungen zu starten ... Was mache ich falsch?

aber Befehle wie

%Vor%

Wie kann ich meine Anwendungen starten, ohne X11 zu starten? Ich brauche es nicht und ich will es nicht. Danke für Ihre Hilfe und Zeit.

mit freundlichen Grüßen oOm

#

Aktualisierung Ich fühle mich jetzt ein bisschen albern, aber ich habe einen Weg gefunden, es ohne die X11 zu laufen

Zuerst müssen Sie einen dbus Session Daemon starten

%Vor%

Dies wird Sie zu Ihrem DBUS_SESSION_BUS_ADRESS

auffordern %Vor%

Danach können Sie Ihre C ++ Anwendung wie folgt starten

%Vor%

Sie können Dienste mit

registrieren %Vor%

und Überwachen der Nachrichten mit

%Vor%

Aber eine Frage ist noch übrig, wie kann ich das automatisch machen?

    
Dogan 12.03.2014, 08:57
quelle

2 Antworten

0

Toller Beitrag. Sie hatten offensichtlich mehr Fleiß als ich; Ich habe stattdessen einen Anzeigepuffer ausgeführt.

  

aber eine Frage bleibt übrig, wie kann ich das automatisch machen?

Seit

%Vor%

gibt die Businfo an die Standardausgabe aus, haben Sie versucht, das Programm danach auszuführen? Zum Beispiel

%Vor%

Die dbus-launch man-Seite sagt:

  

Sie können ein Programm angeben, das ausgeführt werden soll; in diesem Fall wird dbus-launch   Starten Sie eine Session-Bus-Instanz, und legen Sie die entsprechende Umgebung fest   Variablen, so dass das angegebene Programm den Bus finden kann, und dann   Führe das angegebene Programm mit den angegebenen Argumenten aus. Sehen   unten für Beispiele.

     

Wenn Sie ein Programm starten, druckt dbus-launch die Informationen nicht   über den neuen Bus zur Standardausgabe.

    
MrUser 22.07.2014 09:00
quelle
0
  

Aber eine Frage ist noch übrig, wie kann ich das automatisch machen?

Schauen Sie sich dbus-launch manuell an:

  

backticks oder das Konstrukt $ () können zum Lesen von Informationen verwendet werden    dbus-launch .

    
Yan Foto 10.11.2015 12:51
quelle

Tags und Links