Ergebnis 1 bis 8 von 8

Thema: [Linux]Werte übergeben etc.

  1. #1

    [Linux]Werte übergeben etc.

    Tag. :>

    Also, ich bin grad dabei mir etwas Python anzusehen und die Manpage für Rhythmbox Plugin Writing...

    Ich hab im eigentlichen jetzt vor, dass ich erst nen kleines Plugin schreibe für Rhythmbox und für den IRC Clienten Konversation. Was ich jetzt genau vorhabe: Das Plugin im Rhythmbox soll den Titel von dem gerade spielenden Track zwischenspeichern und per Alias Eingabe in Konversation ausgeben.
    Die einzige Möglichkeit die mir in den Sinn kam, war es eine Textdatei anzulegen und aus dieser zu lesen. Nun meine Frage: Kann man irgendwie Werte unter Linux an ein externes Programm geben und diese wieder abfragen mit Python?

  2. #2
    Zitat Zitat von `duke` Beitrag anzeigen
    Tag. :>

    Also, ich bin grad dabei mir etwas Python anzusehen und die Manpage für Rhythmbox Plugin Writing...

    Ich hab im eigentlichen jetzt vor, dass ich erst nen kleines Plugin schreibe für Rhythmbox und für den IRC Clienten Konversation. Was ich jetzt genau vorhabe: Das Plugin im Rhythmbox soll den Titel von dem gerade spielenden Track zwischenspeichern und per Alias Eingabe in Konversation ausgeben.
    Die einzige Möglichkeit die mir in den Sinn kam, war es eine Textdatei anzulegen und aus dieser zu lesen. Nun meine Frage: Kann man irgendwie Werte unter Linux an ein externes Programm geben und diese wieder abfragen mit Python?
    Ich verstehe nicht ganz, was du meinst, und benutze weder Konversation, noch Rhythmbox, daher kann ich dir auch nicht sagen, obs vielleicht ne viel einfachere Möglichkeit gibt. Was meinst du mit "Werte"? Du kannst mit Python ein anderes Programm ausführen und das auf stdin mit Werten füttern, sure. Ein laufendes Programm wie Konversation kannst du im ursprünglichen Sinne nur durch Signale beeinflussen, und das ist sicher nicht, was du willst. Ob ein Programm ein externes Interface zur Verfügung stellt, ist eine ganz andere Frage. Konversation kannst du z.B. vermutlich per dcop ansteuern (aufm KDE Desktop verbreitet), Rhythmbox dagegen würdest du mit Gnome-Äquivalent DBUS ansprechen. Natürlich gibt es für beides Python Bindings, für DBUS reicht ein "import dbus", für DCOP scheinbar "import pcop" und "import pydcop" (beides, nicht entweder oder).

  3. #3
    ich will das python an nen externes programm Werte, also Strings übermittelt, sprich "Artist - Titel" usw. und diese will ich dann halt wieder auslesen können, oder gibts ne möglichkeit den kram innen zwischenspeicher zu packen und wieder auszulesen?

    Ich will, das Python an ein externes Programme Werte, also Strings übergibt, wie jetzt in dem Fall z.B. "Artist - Titel". Diese möchte ich dann halt mit dem Python Script bei Konversation wieder auslesen und ausgeben. Oder gibt es eine Möglichkeit den Kram in den RAM zu speichern und zu lesen?

  4. #4
    Nein, du kannst nicht mit Python (noch mit irgendeinem anderen Linuxprogramm) im RAM anderer Anwendungen rumkritzeln oder lesen. (das wäre mehr als ein massives Sicherheitsleck, das wäre sogar die Abwesenheit von Sicherheit)

    Du kannst natürlich einfach irgendwo in deinem ~ oder in /tmp ne Textdatei erstellen und wieder auslesen. Um dafür nicht die Festplatte hochfahren zu müssen kannst du das auch in /dev/shm machen, dann wird die Datei nur in den RAM geschrieben (du kannst sie aber behandeln wie jede andere). Oder eben mit den oben genannten Methoden direkt auslesen (ich bin mir sicher, dass Rhythmbox per DBUS angesprochen werden kann. Dann brauchst du nur ein Script in Konversation und keins in Rhythmbox)

  5. #5
    Rhythmbox unterstützt D-Bus; zumindest behauptet Google das. Das entsprechende Python-Interface zu laden und darüber einfach Rhythmbox nach den Daten zu fragen wäre die mit Abstand einfachste Möglichkeit.

  6. #6
    Zitat Zitat von Jesus_666 Beitrag anzeigen
    Rhythmbox unterstützt D-Bus; zumindest behauptet Google das. Das entsprechende Python-Interface zu laden und darüber einfach Rhythmbox nach den Daten zu fragen wäre die mit Abstand einfachste Möglichkeit.
    Bezweifle ich gerade fast. Ich finde nirgendwo ne Doku vom Interface von Rhythmbox und scheinbar isses total abartig. Aber immerhin muss man das nichtmal: Mit rhythmbox-client liefert das Programm doch auch gleich ein Tool mit, mit dem man das auslesen kann. Ist denke ich mindestens genau so einfach

  7. #7
    Hehe.
    Hab das jetzt mit d_o's Methode gelöst.
    Bei Konversation einfach nen Alias erstellt der /exec cmd rhythmbox-client --print-playing ausführt.

  8. #8
    Okay, Shellclients sind auch recht elegant. Macht auch Sinn.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •