DBUS + KDE + Konsole

25/10/2011 - 21:57 von Raymond Czerny | Report spam
Hallo NG,

da ich die Session-Steuerung der Konsole aus KDE 3.x.x
vermisse, habe ich mir ein Skript geschrieben mit der
Funktion alle folgende Eigenschaften abzuspeichern und
auch wieder zu rekonstruieren,
- Anzahl der geöffneten Register/Sub-Shells
- Registerbeschriftung
- aktuelle Verzeichnisse
- gestartete Programme (mc, python,...)
- Bildschirmkoordinaten / Fenstergöße

Nun zu meinem Problem.

beim Auslesen der Konsole-Eigenschaften
hole ich mir das DBus-Steuerobjekt per

code fragment -
bus = dbus.SessionBus()
obj = bus.get_object('org.kde.konsole', name)
-

bei der Rekonstruktion ist das leicht abgewandelt:
1) Neu Instanz von Konsole starten
2) PID ermitteln
3) Verbinden per
code fragment -
bus = dbus.SessionBus()
obj = bus.get_object('org.kde.konsole-%s' % pid, name)
-

Das Ganze funktioniert solange ich die Rekonstruktion aus
der Shell heraus starte.

Wenn ich jedoch per Desktop-Verknüfung die identische
Kommadozeile und korrektem Arbeitsverzeichnis starte,
bekomme ich kein Objekt/Verbindung per bus.get_object(...)

Was làuft da schief?

Die Punkte 1) und 2) habe ich so implementiert:

code fragment -
os.system('konsole')
proc = subprocess.Popen(['pidof', '-s', 'konsole'], stdout=sp.PIPE)
proc.wait()
return int(proc.stdout.readline())
-

vieleicht ist das ja das Problem. :-(

Ich hoffe ihr könnt mir ein par Tipps geben.

Gruß
Raymond
 

Lesen sie die antworten

#1 Hartmut Goebel
25/10/2011 - 22:06 | Warnen spam
Am 25.10.2011 21:57, schrieb Raymond Czerny:
code fragment -
os.system('konsole')
proc = subprocess.Popen(['pidof', '-s', 'konsole'], stdout=sp.PIPE)
proc.wait()
return int(proc.stdout.readline())
-



Weshalb startet Du die konsole nicht mit subprocess.Popen()? Dann
bekommst kannst Du die PID im erzeugten Popen-Objekt abfragen.

Schönen Gruß - Regards
Hartmut Goebel
Dipl.-Informatiker (univ.), CISSP, CSSLP

Goebel Consult
Spezialist für IT-Sicherheit in komplexen Umgebungen
http://www.goebel-consult.de

Monatliche Kolumne: http://www.cissp-gefluester.de/
Goebel Consult ist Mitglied bei http://www.7-it.de

Ähnliche fragen