
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

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.
participants (2)
-
Hartmut Goebel
-
Raymond Czerny